Obrázky môžete jednoducho vkladať do tabuliek Excelu a upravovať ich pomocou kódu makra. Tu je postup, ako vložiť obrázok do bunky pomocou jazyka VBA v Exceli .
Visual Basic for Applications, skrátene VBA, je forma Visual Basic 6 integrovaná do programov balíka Microsoft Office. Prostredníctvom kódovania vám VBA umožňuje automatizovať úlohy v aplikáciách balíka Office vrátane Excelu. V niektorých prípadoch môžete dokonca pridať nové funkcie do Excelu pomocou VBA.
Aj keď na používanie VBA musíte pracovať s kódom, neznamená to, že VBA je plné písmen a číslic. Pomocou jazyka VBA v Exceli môžete vytvoriť makro, ktoré vám umožní vložiť obrázok do bunky alebo rozsahu buniek. Tu je to, čo potrebujete vedieť o vkladaní obrázkov do buniek v Exceli pomocou VBA.
Ako vložiť obrázky do buniek pomocou VBA v Exceli
Na vytvorenie makra, ktoré vloží obrázok do bunky Excelu pomocou jazyka VBA, skutočne nepotrebujete žiadne pokročilé znalosti jazyka Visual Basic. Všetko, čo musíte urobiť, je zapnúť nástroje pre vývojárov, vytvoriť makro a vložiť príslušný kód. Obrázky môžete do Excelu samozrejme vkladať aj bez použitia VBA. V tomto článku sa však zameriame na VBA.
1. Zapnite nástroje pre vývojárov
Ak chcete používať VBA v Exceli, musíte povoliť nástroje pre vývojárov. Táto akcia povolí kartu Vývojár na páse s nástrojmi, ktorá je predvolene vypnutá.
- Otvorte Excel .
- Prejdite do ponuky Súbor .
- Kliknite na položku Možnosti v dolnej časti obrazovky. Zobrazí sa okno Možnosti programu Excel .
- V Možnostiach programu Excel prejdite na kartu Prispôsobiť pás s nástrojmi .
- V časti Hlavné karty začiarknite políčko Vývojár .
Teraz sú povolené nástroje pre vývojárov vrátane prístupu VBA. Nemusíte to robiť zakaždým, keď chcete použiť VBA v Exceli. Vývojárske nástroje budú vždy povolené, kým ich nezakážete.
2. Vytvorte makrá a vložte kód
- V Exceli prejdite na kartu Vývojár .
- V časti Kód vyberte možnosť Makrá .
- V novom okne zadajte názov makra do poľa Názov makra . V článku sa použije insertPhotoMacro .
- Kliknite na Vytvoriť .
Po kliknutí na Vytvoriť sa otvorí okno VBA a zobrazí kód pre vaše makro. V súčasnosti bude kód pozostávať z 2 riadkov: Sub na spustenie makra a End Sub na jeho ukončenie.
Pridajte malý kód do tohto makra. Medzi dva riadky pridajte nasledujúci riadok kódu:
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
Konečný kód bude vyzerať takto:
O uloženie tohto procesu sa nemusíte obávať. Všetky zmeny, ktoré vykonáte vo VBA, sa okamžite uložia.
Teraz je čas vidieť kód v akcii:
- Zatvorte okno VBA.
- Prejdite na kartu Vývojár v Exceli.
- V časti Kód vyberte možnosť Makrá .
- Zvýraznite makro, ktoré ste práve vytvorili.
- Kliknite na položku Spustiť .
Teraz sa otvorí správa so žiadosťou, aby ste našli súbor obrázka, ktorý chcete vložiť. Vyberte fotografiu a potom kliknite na tlačidlo Otvoriť. Teraz uvidíte obrázok v bunke A1.
Poznámka: Excel zmenší obrázok tak, aby sa zmestil do bunky A1. Môžete ho zmeniť a zmeniť kód na vkladanie obrázkov do iných buniek, dokonca aj do rozsahu buniek. V ďalšej časti oddelíme kód a vysvetlíme parametre.
3. Rozdeliť kód
Aby kód VBA fungoval tak, ako chcete, musíte mu rozumieť. Pritom môžete zmeniť kód tak, aby sa vložili obrázky do ľubovoľnej bunky ľubovoľnej veľkosti.
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
Na začiatku kódu sa na určenie typu premennej použije príkaz Dim. Máme dva typy premenných: photoNameAndPath a photo . Najprv premenná a potom obrázok.
Odtiaľ sa spustí premenná photoNameAndPath a otvorí aplikáciu na získanie umiestnenia súboru s fotografiou. To sa deje cez Application.GetOpenFileName . Parameter Title je voliteľný. Obsah v ňom sa zobrazuje ako názov okna.
Ak použijete If photoNameAndPath = False Then Exit Sub , ak zadáte neplatnú alebo prázdnu adresu, proces sa ukončí. Ak je však poskytnutý vhodný súbor, Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) znamená, že obrázok by mal byť nastavený ako premenná, ako bola pôvodne definovaná. Vloží sa do aktívneho pracovného hárka.
Nakoniec použite S fotkou a 5 riadkov za ňou na určenie umiestnenia fotografie. .Ľavý a .Hore označujú začiatočnú polohu, zatiaľ čo .Šírka a .Výška označujú koncovú polohu. Ak máte v úmysle vložiť obrázky do inej bunky alebo rozsahu, toto sú riadky, ktoré by ste mali zmeniť.
.Umiestnenie znamená, že veľkosť obrázka by sa mala zmeniť tak, aby sa zmestila do bunky, alebo vložiť voľný tvar. Nastavenie na 1 zmení veľkosť podľa bunky.
Nakoniec vyššie uvedený kód používa End With a potom End Sub na zatvorenie makra. Teraz môžete zmeniť premenné photoNameAndPath a photo na akékoľvek iné meno, ktoré sa vám páči. Len nezabudnite udržiavať názvy konzistentné v celom kóde.
Vyššie je uvedené, ako používať VBA na vkladanie obrázkov do buniek v Exceli . Dúfam, že článok je pre vás užitočný.