Könnyedén beszúrhat képeket Excel-táblázatokba , és makrókóddal szerkesztheti azokat. Így illeszthet be képet egy cellába az Excel VBA használatával .
A Visual Basic for Applications, rövidítve VBA, a Visual Basic 6 Microsoft Office programokba integrált formája. A kódolás révén a VBA lehetővé teszi az Office-alkalmazások, köztük az Excel feladatok automatizálását. Egyes esetekben VBA segítségével új funkciókat is hozzáadhat az Excelhez.
Bár a VBA használatához kóddal kell dolgozni, ez nem jelenti azt, hogy a VBA tele van betűkkel és számokkal. Az Excel VBA-jával létrehozhat egy makrót, amely lehetővé teszi, hogy képet szúrjon be egy cellába vagy cellatartományba. Íme, mit kell tudni arról, hogyan szúrhat be képeket az Excel celláiba VBA használatával.
Hogyan lehet képeket beszúrni a cellákba VBA segítségével az Excelben
Ahhoz, hogy olyan makrót hozzon létre, amely képet szúr be egy Excel-cellába VBA használatával, nincs szükség haladó Visual Basic-ismeretekre. Mindössze annyit kell tennie, hogy bekapcsolja a Fejlesztői eszközöket, létrehoz egy makrót, és beilleszti a megfelelő kódot. Természetesen képeket is beszúrhatunk az Excelbe VBA használata nélkül. Ebben a cikkben azonban a VBA-ra fogunk összpontosítani.
1. Kapcsolja be a Fejlesztői eszközöket
A VBA Excelben való használatához engedélyeznie kell a Fejlesztői eszközöket. Ez a művelet engedélyezi a Fejlesztő lapot a szalagon, amely alapértelmezés szerint le van tiltva.
- Nyissa meg az Excelt .
- Lépjen a Fájl menübe .
- Kattintson a Beállítások elemre a képernyő alján. Megjelenik az Excel Beállítások ablaka .
- Az Excel beállításaiban lépjen a Szalag testreszabása lapra .
- A Fő lapokon jelölje be a Fejlesztő jelölőnégyzetet .
Mostantól engedélyezve vannak a fejlesztői eszközök, beleértve a VBA-hozzáférést is. Ezt nem kell minden alkalommal megtennie, amikor VBA-t szeretne használni az Excelben. A fejlesztői eszközök mindaddig engedélyezve lesznek, amíg le nem tiltja őket.
2. Hozzon létre makrókat és szúrjon be kódot
- Az Excelben lépjen a Fejlesztő lapra .
- A Kód részben válassza a Makrók lehetőséget .
- Az új ablakban írja be a makró nevét a Makró neve mezőbe . A cikk az insertPhotoMacro alkalmazást fogja használni .
- Kattintson a Létrehozás gombra .
A Létrehozás gombra kattintva megnyílik a VBA ablak, és megjeleníti a makró kódját. Jelenleg a kód 2 sorból áll: egy Sub- ból a makró elindításához és egy End Sub- ból a befejezéshez.
Adjon hozzá egy kis kódot ehhez a makróhoz. Adja hozzá a következő kódsort a két sor közé:
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
A végső kód így fog kinézni:
Nem kell aggódnia a folyamat mentése miatt. A VBA-ban végrehajtott módosítások azonnal mentésre kerülnek.
Itt az ideje, hogy lássuk a kód működését:
- Zárja be a VBA ablakot.
- Lépjen a Fejlesztő lapra az Excelben.
- Válassza a Makrót a Kód részben.
- Jelölje ki az imént létrehozott makrót.
- Kattintson a Futtatás gombra .
Most megnyílik egy üzenet, amely arra kéri, hogy keresse meg a beszúrni kívánt képfájlt. Válassza ki a fényképet, majd kattintson a Megnyitás gombra. Most látni fogja a képet az A1 cellában.
Megjegyzés: az Excel összehúzza a képet, hogy elférjen az A1 cellában. Megváltoztathatja, és módosíthatja a kódot, hogy képeket szúrjon be más cellákba, akár egy cellatartományba is. A következő részben szétválasztjuk a kódot és elmagyarázzuk a paramétereket.
3. Kód felosztása
Ahhoz, hogy a VBA-kód a kívánt módon működjön, meg kell értened. Ennek során megváltoztathatja a kódot, hogy képeket szúrjon be bármilyen méretű cellába.
Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub
Amikor a kód elindul, a Dim utasítást használják a változó típusának meghatározására. Két változótípusunk van: photoNameAndPath és photo . Először a változó, majd a kép.
Innentől a photoNameAndPath változó fut, és megnyit egy alkalmazást a fotófájl helyének lekéréséhez. Ez az Application.GetOpenFileName segítségével történik . A Title paraméter nem kötelező. A benne lévő tartalom ablaknévként jelenik meg.
Ha a photoNameAndPath = False, akkor lépjen ki a Sub parancsból , ha érvénytelen vagy üres címet ad meg, a folyamat befejeződik. Ha azonban rendelkezésre áll egy megfelelő fájl, a Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) azt jelzi, hogy a képet az eredetileg meghatározott változóként kell beállítani. Be lesz illesztve az aktív munkalapba.
Végül a Fotóval és az utána lévő 5 vonal segítségével határozza meg a fénykép helyét. .Bal és .Felső a kiinduló helyzetre, míg a .Szélesség és .Magasság a véghelyzetre utal. Ha képeket szeretne beszúrni egy másik cellába vagy tartományba, akkor ezeket a sorokat kell módosítania.
A .Placement azt jelzi, hogy a képet át kell méretezni, hogy illeszkedjen a cellához, vagy szabad formájú beillesztésre van szükség. Ha 1 -re állítja, akkor a cellának megfelelően átméretezi.
Végül a fenti kód az End With , majd az End Sub parancsot használja a makró bezárásához. Most megváltoztathatja a photoNameAndPath és a fotó változóit bármilyen más névre. Ne feledje, hogy a nevek következetesek legyenek a kódban.
A fentiekben bemutatjuk, hogyan lehet VBA-val képeket beszúrni az Excel celláiba . Reméljük, hogy a cikk hasznos az Ön számára.