A Visual Basic for Application, röviden 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 programokban, köztük az Excelben végzett feladatok automatizálását. Egyes esetekben a 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 csak betűk és számok. Az Excel VBA-jával létrehozhat egy makrót, amely lehetővé teszi képek beszúrását egy cellába vagy cellatartományba. Olvasson tovább, hogy mindent megtudjon róla!

Hogyan lehet képet beszúrni egy cellába VBA segítségével az Excelben

Ahhoz, hogy olyan makrót hozzon létre, amellyel képeket szúrhat be az Excel celláiba VBA használatával, valójában nincs szüksége haladó Visual Basic-ismeretekre. Mindössze annyit kell tennie, hogy engedélyezi a fejlesztői eszközöket, létrehozza a makrót, és beilleszti a megfelelő kódot.

Ha azonban szeretné megtanulni a VBA-t, és egyszer megírni saját kódját, a harmadik részben lebontottuk a VBA-kódot. Természetesen azt is megteheti

instagram viewer
szúrjon be képeket Excelbe VBA használata nélkül. De ez a cikk a VBA-n keresztüli megvalósításról szól. Lássunk munkához!

A VBA Excelben való használatához engedélyeznie kell a Fejlesztői eszközöket az Excelben. Ez engedélyezi a Fejlesztő lapot a szalagon, amely alapértelmezés szerint le van tiltva.

  1. Nyissa meg az Excelt.
  2. Menj a Fájl menü.
  3. Kattintson Lehetőségek a képernyő alján. Ezzel megnyílik az Excel beállításai ablak.
  4. Az Excel beállításaiban lépjen a Szalag testreszabása lapon.
  5. Alatt Fő lapok, jelölje be Fejlesztő.

Mostantól a fejlesztői eszközök, beleértve a VBA-hoz való hozzáférést is, engedélyezve vannak az Ön számára. Ezt nem kell minden alkalommal megtennie, amikor VBA-t szeretne használni az Excelben. A fejlesztői eszközök mindaddig engedélyezve maradnak, amíg le nem tiltja őket.

2. Makró létrehozása és a kód beillesztése

Itt az ideje, hogy rátérjünk a makró létrehozására. Alternatív megoldásként azt is megtehetnéd hozzon létre egy gombot a VBA segítségével ehhez a feladathoz, de maradunk a makróknál.

  1. Az Excelben lépjen a Fejlesztő lapon.
  2. Ban,-ben Kód szakaszban válassza ki Makrók.
  3. Az új ablakban adjon meg egy nevet a makró számára Makró neve. Használni fogjuk insertPhotoMacro.
  4. Kattintson Teremt.

Miután a Létrehozás gombra kattint, megnyílik a VBA ablak, és megjeleníti a makró kódját. Jelenleg a kód két sorból áll majd: A Alatti a makró elindításához, és egy Vége Sub hogy vége legyen.

Adjunk hozzá egy kódot ehhez a makróhoz. Adja hozzá a következő kódot a két sor közé:

Dim photoNameAndPath Mint Változat
Halvány fénykép Mint Kép
photoNameAndPath = Alkalmazás. GetOpenFilename (Title:="Válassza ki Fénykép nak nekBeszúrás")
Ha photoNameAndPath = Hamis Akkor Kijárat Alatti
Készlet fotó = ActiveSheet. Képek. Beszúrás (photoNameAndPath)
Val vel fénykép
.Left = ActiveSheet. Hatótávolság("A1").Bal
.Top = ActiveSheet. Hatótávolság("A1").Felső
.Width = ActiveSheet. Hatótávolság("A1").Szélesség
.Height = ActiveSheet. Hatótávolság("A1").Magasság
.Elhelyezés = 1
VégeVal vel

A végső kódnak az alábbihoz hasonlónak kell lennie:

Nem kell aggódnia az előrehaladás mentése miatt. A VBA-ban végzett minden módosítás azonnal mentésre kerül.

Itt az ideje, hogy lássuk a kódot működés közben.

  1. Zárja be a VBA ablakot.
  2. Menj a Fejlesztő lapon az Excelben.
  3. Válassza ki Makrók tól Kód szakasz.
  4. Jelölje ki az imént létrehozott makrót.
  5. Kattintson Fuss.

Most megnyílik egy prompt, amely arra kéri, hogy keresse meg a beszúrni kívánt képfájlt. Válassza ki a képet, majd kattintson Nyisd ki. Most látnia kell fényképét az A1-es cellában!

Figyelje meg, hogy a beillesztett kép összezsugorodik, hogy illeszkedjen az A1 cellába. Módosíthatja ezt, és módosíthatja a kódot is, hogy a képet más cellákba vagy akár egy cellatartományba illessze be. A következő részben lebontjuk a kódot, és elmagyarázzuk a működés közbeni paramétereket.

3. A kódex lebontása

Ahhoz, hogy ez a VBA-kód a kívánt módon működjön, meg kell értenie. Ha ezt megtette, módosíthatja a kódot, hogy bármilyen méretű, bármilyen cellába beszúrjon fényképeket. A könnyebb érthetőség érdekében apránként végigmegyünk a kódon.

Sub insertPhotoMacro()
Dim photoNameAndPath Mint Változat
Halvány fénykép Mint Kép
photoNameAndPath = Alkalmazás. GetOpenFilename (Title:="Válassza ki Fénykép nak nekBeszúrás")
Ha photoNameAndPath = Hamis Akkor Kijárat Alatti
Készlet fotó = ActiveSheet. Képek. Beszúrás (photoNameAndPath)
Val vel fénykép
.Left = ActiveSheet. Hatótávolság("A1").Bal
.Top = ActiveSheet. Hatótávolság("A1").Felső
.Width = ActiveSheet. Hatótávolság("A1").Szélesség
.Height = ActiveSheet. Hatótávolság("A1").Magasság
.Elhelyezés = 1
VégeVal vel
Vége Alatti

Amikor a kód elindul, használjuk a Homályos utasítást a változó típusának meghatározásához. Itt két változónk van: photoNameAndPath és fénykép maga. Az előbbit úgy határoztuk meg, mint a Változat az utóbbi pedig mint a Fénykép.

Innentől a photoNameAndPath változó fut, és megnyit egy alkalmazást a képfájl hollétének megállapításához. Ez keresztül történik Alkalmazás. GetOpenFileName. A Cím paraméter nem kötelező, és a benne lévő tartalom ablaknévként jelenik meg.

Használata Ha photoNameAndPath = False, akkor lépjen ki a Sub, megadjuk, hogy érvénytelen vagy üres cím megadása esetén a folyamatot le kell állítani. Ha azonban megfelelő fájlt adagolunk, akkor Fénykép beállítása = ActiveSheet. Képek. Beszúrás (photoNameAndPath) azt jelzi, hogy a képet az általunk korábban meghatározott fotóváltozóként kell beállítani, és be kell illeszteni az aktív táblázatba.

Végül használja Fotóval és az azt követő öt sorban a kép pozicionálását részletezzük. .Bal és .Felső jelzi a kiindulási helyeket, míg .Szélesség és .Magasság jelölje meg a végpontokat. Ha a képet más cellákba vagy egy tartományba szeretné beszúrni, akkor ezeket a sorokat kell módosítania.

.Elhelyezés jelzi, hogy a képet a cellákkal kell-e méretezni, vagy szabad formában kell beilleszteni. Ennek beállítása 1 méretezni fogja a sejtekkel.

Végül is használjuk Vége ezzel és akkor Vége Sub a makró bezárásához. Vegye figyelembe, hogy módosíthatja a photoNameAndPath és fénykép változókat tetszőleges más névre. Ne feledje, hogy a nevek következetesek legyenek a kódban.

A VBA segítségével többet érhet el az Excelben

Az Excel valóban nagyszerű eszköz az adatok rendszerezésére és elemzésére, de ez nem jelenti azt, hogy az Excel alkalmatlan a grafika terén. Bár a fényképek és a bitképek nem az Excel legerősebb vonásai, az Excel mégis tökéletesen képes kezelni őket.

Bár képeket szúrhat be az Excelbe a felület használatával, ahogyan más Office-alkalmazásokban tenné, ezt megteheti VBA használatával is. A VBA segítségével automatizálhatja ezt a feladatot, és akár más feladatokkal is összekapcsolhatja, hogy egyidejűleg fusson. Az Excelben a VBA lehetőségei végtelenek.