Visual Basic for Application, zkráceně VBA, je forma Visual Basic 6 integrovaná do programů Microsoft Office. Prostřednictvím kódování vám VBA umožňuje automatizovat úlohy v aplikacích Office, včetně Excelu. V některých případech můžete dokonce přidávat nové funkce do Excelu pomocí VBA.

Ačkoli musíte pracovat s kódem, abyste mohli používat VBA, neznamená to, že VBA jsou všechna písmena a čísla. Pomocí jazyka VBA v aplikaci Excel můžete vytvořit makro, které vám umožní vkládat obrázky do buňky nebo oblasti buněk. Čtěte dále a dozvíte se o tom vše!

Jak vložit obrázek do buňky pomocí VBA v Excelu

K vytvoření makra pro vkládání obrázků do buněk Excelu pomocí VBA ve skutečnosti nepotřebujete žádné pokročilé znalosti jazyka Visual Basic. Vše, co musíte udělat, je povolit nástroje pro vývojáře, vytvořit makro a vložit správný kód.

Pokud se však chcete naučit VBA a někdy si napsat svůj vlastní kód, rozebrali jsme kód VBA ve třetí části. Samozřejmě můžete také vkládání obrázků do Excelu bez použití VBA. Ale tento článek je o tom, jak to udělat přes VBA. Pojďme pracovat!

instagram viewer

Abyste mohli používat VBA v Excelu, musíte v Excelu povolit nástroje pro vývojáře. Tím povolíte kartu Vývojář na pásu karet, která je ve výchozím nastavení zakázána.

  1. Otevřete Excel.
  2. Přejít na Soubor Jídelní lístek.
  3. Klikněte na Možnosti ve spodní části obrazovky. Otevře se okno Možnosti aplikace Excel.
  4. V Možnosti aplikace Excel přejděte na Přizpůsobit pás karet tab.
  5. Pod Hlavní karty, šek Vývojář.

Nyní jsou pro vás povoleny vývojářské nástroje, včetně přístupu k VBA. Nemusíte to dělat pokaždé, když chcete použít VBA v Excelu. Vývojářské nástroje zůstanou aktivní, dokud je nezakážete.

2. Vytvoření makra a vložení kódu

Nyní je čas pustit se do vytváření makra. Případně můžete také vytvořit tlačítko pomocí VBA pro tento úkol, ale zůstaneme u maker.

  1. V Excelu přejděte na Vývojář tab.
  2. V Kód sekce, vyberte Makra.
  3. V novém okně zadejte název svého makra Název makra. Budeme používat vložitPhotoMacro.
  4. Klikněte Vytvořit.

Po kliknutí na Vytvořit se otevře okno VBA a zobrazí se kód pro vaše makro. Právě teď se bude kód skládat ze dvou řádků: A Sub pro spuštění makra a an End Sub abych to ukončil.

Pojďme do tohoto makra přidat nějaký kód. Mezi dva řádky přidejte následující kód:

Ztlumit název fotografie a cestu Tak jako Varianta
Ztlumená fotka Tak jako Obrázek
photoNameAndPath = Aplikace. GetOpenFilename (Title:="Vybrat Fotografie naVložit")
Li photoNameAndPath = Nepravdivé Pak Výstup Sub
Soubor foto = ActiveSheet. obrázky. Vložit (název fotografie a cesta)
S fotografie
.Left = ActiveSheet. Rozsah("A1").Vlevo, odjet
.Top = ActiveSheet. Rozsah("A1").Horní
.Width = ActiveSheet. Rozsah("A1").Šířka
.Výška = ActiveSheet. Rozsah("A1").Výška
.Umístění = 1
KonecS

Váš konečný kód by měl být něco jako níže:

Nemusíte si dělat starosti s ukládáním svého postupu. Každá změna, kterou provedete ve VBA, se okamžitě uloží.

Nyní je čas vidět kód v práci.

  1. Zavřete okno VBA.
  2. Přejít na Vývojář kartu v Excelu.
  3. Vybrat Makra z Kód sekce.
  4. Zvýrazněte makro, které jste právě vytvořili.
  5. Klikněte Běh.

Nyní se otevře výzva k vyhledání souboru obrázku, který chcete vložit. Vyberte svůj obrázek a poté klikněte OTEVŘENO. Nyní byste měli vidět svou fotografii v buňce A1!

Všimněte si, že vložený obrázek je zmenšen tak, aby se vešel do buňky A1. Můžete to změnit a také změnit kód pro vložení obrázku do jiných buněk nebo dokonce do rozsahu buněk. V další části rozebereme kód a vysvětlíme parametry při práci.

3. Prolomení kodexu

Aby vám tento kód VBA fungoval tak, jak chcete, musíte mu porozumět. Jakmile to uděláte, můžete změnit kód a vložit fotografie do libovolné buňky v jakékoli velikosti. Projdeme si kód kousek po kousku, aby byl srozumitelnější.

Sub insertPhotoMacro()
Ztlumit název fotografie a cestu Tak jako Varianta
Ztlumená fotka Tak jako Obrázek
photoNameAndPath = Aplikace. GetOpenFilename (Title:="Vybrat Fotografie naVložit")
Li photoNameAndPath = Nepravdivé Pak Výstup Sub
Soubor foto = ActiveSheet. obrázky. Vložit (název fotografie a cesta)
S fotografie
.Left = ActiveSheet. Rozsah("A1").Vlevo, odjet
.Top = ActiveSheet. Rozsah("A1").Horní
.Width = ActiveSheet. Rozsah("A1").Šířka
.Výška = ActiveSheet. Rozsah("A1").Výška
.Umístění = 1
KonecS
Konec Sub

Jakmile se kód spustí, použijeme Ztlumit příkaz k určení typu proměnné. Máme zde dvě proměnné: photoNameAndPath a fotografie sám. První jsme určili jako a Varianta a druhý jako a Fotografie.

Odtud se spustí proměnná photoNameAndPath a otevře aplikaci pro zjištění místa pobytu souboru obrázku. To se provádí skrz Aplikace. GetOpenFileName. The Titul parametr je volitelný a obsah v něm se zobrazuje jako název okna.

Použitím Pokud photoNameAndPath = False, pak Exit Sub, specifikujeme, že pokud je zadána neplatná nebo prázdná adresa, proces by měl být ukončen. Pokud je však podán správný soubor, pak Nastavit fotografii = ActiveSheet. obrázky. Vložit (název fotografie a cesta) označuje, že obrázek by měl být nastaven jako proměnná fotografie, kterou jsme definovali dříve, a měl by být vložen do aktivní tabulky.

Konečně použití S fotkou a pět řádků, které za ním následují, podrobně rozvádíme umístění obrázku. .Vlevo, odjet a .Horní označte místa startu, zatímco .Šířka a .Výška označte koncová místa. Pokud chcete vložit obrázek do jiných buněk nebo do rozsahu, pak toto jsou řádky, které byste měli změnit.

.Umístění označuje, zda má být velikost obrázku s buňkami nebo vložena ve volné formě. Nastavení na 1 bude velikost s buňkami.

Nakonec používáme Konec s a pak End Sub pro uzavření makra. Všimněte si, že můžete změnit photoNameAndPath a fotografie proměnné na jakýkoli jiný název, který chcete. Jen nezapomeňte udržovat názvy konzistentní v celém kódu.

Udělejte více v Excelu s VBA

Excel je skutečně skvělý nástroj pro organizování a analýzu dat, ale to neznamená, že je Excel neobratný, pokud jde o grafiku. Přestože fotografie a bitmapy nejsou nejsilnější stránkou Excelu, Excel je stále dokonale schopen s nimi zacházet.

Přestože můžete vkládat obrázky do Excelu pomocí rozhraní jako v jiných aplikacích Office, můžete to udělat také pomocí VBA. S VBA můžete tuto úlohu automatizovat a dokonce ji spojit s jinými úlohami, aby se spouštěly současně. Možnosti s VBA v Excelu jsou nekonečné.