Použitie objektu zošita v programe Excel VBA (otvorenie, zatvorenie, uloženie, nastavenie)

V tomto návode sa budem zaoberať tým, ako pracovať so zošitmi v programe Excel pomocou VBA.

V programe Excel je „zošit“ objekt, ktorý je súčasťou zbierky „zošity“. V zošite máte rôzne objekty, ako sú pracovné hárky, hárky grafov, bunky a rozsahy, objekty grafu, tvary atď.

S VBA môžete s objektom zošita vykonávať veľa vecí - napríklad otvoriť konkrétny zošit, uložiť a zavrieť zošity, vytvárať nové zošity, meniť vlastnosti zošita atď.

Začnime teda.

Všetky kódy, ktoré spomínam v tomto návode, je potrebné vložiť do editora jazyka Visual Basic. Prejdite do sekcie „Kam umiestniť kód VBA“ a zistite, ako funguje.

Ak máte záujem naučiť sa VBA jednoduchým spôsobom, pozrite sa na moje Online školenie Excel VBA.

Odkazovanie na zošit pomocou VBA

Vo VBA existujú rôzne spôsoby, ako odkazovať na objekt zošita. Metóda, ktorú si vyberiete, bude závisieť od toho, čo chcete urobiť. V tejto časti sa budem zaoberať rôznymi spôsobmi odkazovania na zošit spolu s niektorými ukážkovými kódmi.

Používanie názvov zošitov

Ak máte presný názov zošita, na ktorý sa chcete odvolávať, môžete tento názov použiť v kóde.

Začnime jednoduchým príkladom.

Ak máte otvorené dva zošity a zošit chcete aktivovať s názvom - examples.xlsx, môžete použiť nasledujúci kód:

Sub ActivateWorkbook () zošity ("examples.xlsx"). Aktivovať End Sub

Ak bol súbor uložený, musíte použiť názov súboru spolu s príponou. Ak nebol uložený, môžete použiť názov bez prípony súboru.

Ak si nie ste istí, aké meno použiť, vezmite si pomoc v programe Project Explorer.

Ak chcete aktivovať zošit a vybrať konkrétnu bunku v hárku v tomto zošite, musíte zadať celú adresu bunky (vrátane zošita a názvu pracovného hárka).

Sub ActivateWorkbook () zošity ("examples.xlsx"). Pracovné listy ("Sheet1"). Aktivovať rozsah ("A1"). Vyberte End Sub

Vyššie uvedený kód najskôr aktivuje list1 v zošite Example.xlsx a potom vyberie bunku A1 v hárku.

Často uvidíte kód, kde je uvedený odkaz na pracovný hárok alebo bunku/rozsah bez odkazu na zošit. K tomu dochádza, keď odkazujete na pracovný hárok/rozsahy v tom istom zošite, ktorý obsahuje kód a je tiež aktívnym zošitom. V niektorých prípadoch však musíte zadať zošit, aby ste sa presvedčili, že kód funguje (viac o tom v sekcii ThisWorkbook).

Použitie indexových čísel

Na zošity sa môžete odvolávať aj na základe ich indexového čísla.

Ak máte napríklad otvorené tri zošity, nasledujúci kód by vám ukázal názvy troch zošitov v poli správ (po jednom).

Sub WorkbookName () MsgBox Workbooks (1) .Name MsgBox Workbooks (2) .Name MsgBox Workbooks (3) .Name End Sub

Vyššie uvedený kód používa MsgBox - čo je funkcia, ktorá zobrazuje okno so správou so zadaným textom/hodnotou (čo je v tomto prípade názov zošita).

Jeden z problémov, ktoré mám pri používaní indexových čísel so zošitmi, je ten, že nikdy neviete, ktorý je prvý zošit a ktorý druhý a podobne. Aby ste si boli istí, museli by ste spustiť kód podľa vyššie uvedeného obrázku alebo niečo podobné, aby ste mohli prechádzať otvorenými zošitmi a poznať ich indexové číslo.

Excel považuje zošit otvorený najskôr za účelom získania indexového čísla ako 1 a nasledujúceho za 2 a podobne.

Napriek tejto nevýhode môže používanie indexových čísel byť užitočné. Ak chcete napríklad prechádzať všetkými otvorenými zošitmi a uložiť všetky, môžete použiť čísla indexov. V tomto prípade, pretože chcete, aby sa to stalo všetkým zošitom, vás nezaujímajú ich jednotlivé čísla indexov.

Nasledujúci kód by prešiel všetkými otvorenými zošitmi a zatvoril všetky okrem zošita, ktorý obsahuje tento kód VBA.

Sub CloseWorkbooks () Dim WbCount As Integer WbCount = Workbooks.Count for i = WbCount to 1 Step -1 If Workbooks (i) .Name ThisWorkbook.Name Then Workbooks (i). Close close If Next i End Sub

Vyššie uvedený kód počíta počet otvorených zošitov a potom prechádza všetkými zošitmi pomocou slučky For Každý.

Na kontrolu, či je názov zošita rovnaký ako názov zošita, v ktorom sa kód spúšťa, používa podmienku IF.

Ak to nie je zhoda, zatvorí zošit a prejde na nasledujúci.

Všimnite si toho, že sme spustili slučku z WbCount na 1 s krokom -1. To sa robí ako s každou slučkou, počet otvorených zošitov klesá.

Táto pracovná kniha je podrobne popísaná v ďalšej časti.

Používanie ActiveWorkbook

ActiveWorkbook, ako naznačuje názov, odkazuje na aktívny zošit.

Nasledujúci kód vám ukáže názov aktívneho zošita.

Sub ActiveWorkbookName () MsgBox ActiveWorkbook.Name Koniec pod

Keď použijete VBA na aktiváciu iného zošita, časť ActiveWorkbook vo VBA by potom začala odkazovať na aktivovaný zošit.

Tu je príklad.

Ak máte aktívny zošit a vložíte doň nasledujúci kód a spustíte ho, najskôr by sa zobrazil názov zošita, ktorý obsahuje kód, a potom názov Example.xlsx (ktorý sa aktivuje kódom).

Sub ActiveWorkbookName () MsgBox ActiveWorkbook.Name zošity ("examples.xlsx"). Aktivujte MsgBox ActiveWorkbook.Name Koniec Sub

Všimnite si toho, že keď vytvoríte nový zošit pomocou VBA, tento novo vytvorený zošit sa automaticky stane aktívnym zošitom.

Používanie tejto pracovnej knihy

ThisWorkbook odkazuje na zošit, kde sa vykonáva kód.

Každý zošit by mal ako súčasť svojho objektu ThisWorkbook (viditeľný v programe Project Explorer).

„ThisWorkbook“ môže ukladať bežné makrá (podobné tým, ktoré pridávame do modulov), ako aj procedúry udalostí. Procedúra udalosti je niečo, čo sa spustí na základe udalosti - napríklad dvojitým kliknutím na bunku alebo uložením zošita alebo aktiváciou pracovného hárka.

Akýkoľvek postup udalosti, ktorý uložíte do tejto „tejto pracovnej knihy“, bude k dispozícii v celom zošite v porovnaní s udalosťami na úrovni hárkov, ktoré sú obmedzené iba na konkrétne listy.

Ak napríklad dvakrát kliknete na objekt ThisWorkbook v programe Project Explorer a skopírujete a vložíte doň nižšie uvedený kód, zobrazí sa adresa bunky vždy, keď dvakrát kliknete na ľubovoľnú z buniek v celom zošite.

Súbor Sub Subbook_SheetBeforeDoubleClick (ByVal Sh ako objekt, ByVal Target ako rozsah, Zrušiť ako booleovský) MsgBox Target.Address End Sub

Aj keď je hlavnou úlohou ThisWorkbook ukladať procedúry udalostí, môžete ich použiť aj na odkaz do zošita, kde sa kód vykonáva.

Nasledujúci kód vráti názov zošita, v ktorom sa kód vykonáva.

Sub ThisWorkbookName () MsgBox ThisWorkbook.Name End Sub

Výhodou použitia tejto pracovnej knihy (oproti programu ActiveWorkbook) je, že vo všetkých prípadoch bude odkazovať na rovnaký zošit (ten, v ktorom je kód). Ak teda použijete kód VBA na pridanie nového zošita, ActiveWorkbook by sa zmenil, ale ThisWorkbook by stále odkazoval na ten, ktorý má kód.

Vytvorenie nového objektu zošita

Nasledujúci kód vytvorí nový zošit.

Sub CreateNewWorkbook () zošity. Pridať End Sub

Keď pridáte nový zošit, stane sa aktívnym zošitom.

Nasledujúci kód pridá nový zošit a potom vám ukáže názov tohto zošita (ktorý by bol predvoleným názvom typu Book1).

Sub CreateNewWorkbook () zošity. Pridať MsgBox ActiveWorkbook.Name Koniec Sub

Otvorte zošit pomocou VBA

VBA môžete použiť na otvorenie konkrétneho zošita, ak poznáte cestu k súboru zošita.

Nasledujúci kód otvorí zošit - examples.xlsx, ktorý je v mojom systéme v priečinku Dokumenty.

Sub Open Workbook () zošity. Otvorené („C: \ Users \ sumit \ Documents \ examples.xlsx“) Koniec Sub

V prípade, že súbor existuje v predvolenom priečinku, čo je priečinok, do ktorého VBA predvolene ukladá nové súbory, stačí zadať názov zošita - bez celej cesty.

Sub OpenWorkbook () zošity.Otvorené ("examples.xlsx") Koniec pod

V prípade, že zošit, ktorý sa pokúšate otvoriť, neexistuje, zobrazí sa chyba.

Aby ste sa vyhli tejto chybe, môžete do kódu pridať niekoľko riadkov, aby ste najskôr skontrolovali, či súbor existuje alebo nie, a ak existuje, skúste ho otvoriť.

Nasledujúci kód by skontroloval umiestnenie súboru a ak neexistuje, zobrazí vlastnú správu (nie chybové hlásenie):

Sub OpenWorkbook () If Dir ("C: \ Users \ sumit \ Documents \ examples.xlsx") "" Then Workbooks.Open ("C: \ Users \ sumit \ Documents \ examples.xlsx") Else MsgBox "Súbor nie je neexistujú "End If End Sub

Na výber súboru, ktorý chcete otvoriť, môžete použiť aj dialógové okno Otvoriť.

Sub OpenWorkbook () On Error Resume Next Dim Dim FilePath As String FilePath = Application.GetOpenFilename Workbooks.Open (FilePath) End Sub

Vyššie uvedený kód otvára dialógové okno Otvoriť. Keď vyberiete súbor, ktorý chcete otvoriť, priradí cestu k súboru premennej FilePath. Zošity. Otvorený potom použije cestu k súboru na otvorenie súboru.

V prípade, že používateľ neotvorí súbor a klikne na tlačidlo Zrušiť, FilePath sa stane falošným. Aby sme sa v tomto prípade vyhli chybám, použili sme príkaz „On Error Resume Next“.

Súvisiace: Získajte informácie o spracovaní chýb v programe Excel VBA

Uloženie zošita

Ak chcete uložiť aktívny zošit, použite nasledujúci kód:

Sub SaveWorkbook () ActiveWorkbook.Save End Sub

Tento kód funguje pre zošity, ktoré už boli uložené skôr. Pretože zošit obsahuje vyššie uvedené makro, ak nebolo uložené ako súbor .xlsm (alebo .xls), o makro pri nasledujúcom otvorení prídete.

Ak zošit ukladáte prvýkrát, zobrazí sa výzva, ako je uvedené nižšie:

Pri prvom ukladaní je lepšie použiť možnosť „Saveas“.

Nasledujúci kód by uložil aktívny zošit ako súbor .xlsm do predvoleného umiestnenia (čo je priečinok s dokumentmi v mojom systéme).

Sub SaveWorkbook () ActiveWorkbook.SaveAs Názov súboru: = "Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub

Ak chcete, aby bol súbor uložený na konkrétnom mieste, musíte to spomenúť v hodnote Názov súboru. Nasledujúci kód uloží súbor na moju pracovnú plochu.

Sub SaveWorkbook () ActiveWorkbook.SaveAs Názov súboru: = "C: \ Users \ sumit \ Desktop \ Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub

Ak chcete, aby mal používateľ možnosť vybrať umiestnenie na uloženie súboru, môžete použiť volanie dialógového okna Saveas. Nasledujúci kód zobrazuje dialógové okno Saveas a umožňuje používateľovi vybrať umiestnenie, kam sa má súbor uložiť.

Sub SaveWorkbook () Dim FilePath As String FilePath = Application.GetSaveAsFilename ActiveWorkbook.SaveAs Filename: = FilePath & ".xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub Sub

Všimnite si toho, že namiesto použitia FileFormat: = xlOpenXMLWorkbookMacroEnabled, môžete použiť aj FileFormat: = 52, kde 52 je kód xlOpenXMLWorkbookMacroEnabled.

Uloženie všetkých otvorených zošitov

Ak máte otvorených viac ako jeden zošit a chcete si uložiť všetky zošity, môžete použiť nasledujúci kód:

Sub SaveAllWorkbooks () Dim wb as Workbook for each wb in Workbooks wb. Save Next wb End Sub

Vyššie uvedené uloží všetky pracovné zošity vrátane tých, ktoré neboli nikdy uložené. Zošity, ktoré neboli predtým uložené, sa uložia na predvolené miesto.

Ak chcete uložiť iba tie zošity, ktoré boli predtým uložené, môžete použiť nasledujúci kód:

Sub SaveAllWorkbooks () Dim wb as Workbook for each wb in Workbooks If wb.Path "" Then wb.Save End If Next wb End Sub

Ukladanie a zatváranie všetkých zošitov

Ak chcete zavrieť všetky zošity, okrem zošita, v ktorom je aktuálny kód, môžete použiť nasledujúci kód:

Podzatvorené a uložené pracovné zošity () Dim wb ako zošit pre každý wb v zošitoch If wb.Name ThisWorkbook.Name Then wb.Close SaveChanges: = True End If Next wb End Sub

Vyššie uvedený kód by zatvoril všetky zošity (okrem zošita, ktorý má kód - ThisWorkbook). V prípade, že dôjde k zmenám v týchto zošitoch, zmeny budú uložené. V prípade, že existuje zošit, ktorý nebol nikdy uložený, zobrazí sa dialógové okno Uložiť ako.

Uložiť kópiu zošita (s časovou pečiatkou)

Keď pracujem so zložitými údajmi a dashboardom v zošitoch Excelu, často vytváram rôzne verzie svojich zošitov. To je užitočné v prípade, že sa niečo pokazí s mojím aktuálnym zošitom. Nechal by som aspoň uložiť jeho kópiu s iným názvom (a prišiel by som len o prácu, ktorú som vykonal po vytvorení kópie).

Tu je kód VBA, ktorý vytvorí kópiu vášho zošita a uloží ho na určené miesto.

Sub CreateaCopyofWorkbook () ThisWorkbook.SaveCopyAs Názov súboru: = "C: \ Users \ sumit \ Desktop \ BackupCopy.xlsm" End Sub

Vyššie uvedený kód by uložil kópiu vášho zošita pri každom spustení tohto makra.

Aj keď to funguje skvele, cítil by som sa pohodlnejšie, keby som mal pri spustení tohto kódu uložené rôzne kópie. Dôvod, prečo je to dôležité, je ten, že ak omylom urobím neúmyselnú chybu a spustím toto makro, ušetrí mi to prácu s chybami. A nemal by som prístup k práci, kým som neurobil chybu.

Na zvládnutie takýchto situácií môžete použiť nižšie uvedený kód, ktorý pri každom uložení uloží novú kópiu diela. A tiež pridá dátum a časovú pečiatku ako súčasť názvu zošita. To vám môže pomôcť sledovať akúkoľvek chybu, ktorú ste urobili, pretože nikdy neprídete o žiadnu z predtým vytvorených záloh.

Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel as Boolean) ThisWorkbook.SaveCopyAs Názov súboru: = "C: \ Users \ sumit \ Desktop \ BackupCopy" & Format (Now (), "dd-mm-yy-hh-mm-ss -AMPM ") &" .xlsm "End Sub

Vyššie uvedený kód by vytvoril kópiu pri každom spustení tohto makra a do názvu zošita by pridal pečiatku dátumu/času.

Vytvorte nový zošit pre každý pracovný list

V niektorých prípadoch môžete mať zošit obsahujúci viacero pracovných hárkov a pre každý pracovný list chcete vytvoriť zošit.

To môže nastať vtedy, ak máte mesačné/štvrťročné prehľady v jednom zošite a chcete ich rozdeliť do jedného zošita pre každý pracovný hárok.

Alebo ak máte správy z jednotlivých oddelení a chcete ich rozdeliť do jednotlivých zošitov, aby ste tieto jednotlivé zošity mohli odoslať vedúcim oddelení.

Tu je kód, ktorý vytvorí zošit pre každý pracovný hárok, dá mu rovnaký názov ako pracovný hárok a uloží ho do zadaného priečinka.

Sub CreateWorkbookforWorksheets () Dim ws as Worksheet Dim wb As Workbook for each ws In ThisWorkbook.Worksheets Set wb = Workbooks.Add ws.Copy Before: = wb.Sheets (1) Application.DisplayAlerts = False wb.Sheets (2) .Delete Application.DisplayAlerts = True wb.SaveAs "C: \ Users \ sumit \ Desktop \ Test \" & ws.Name & ".xlsx" wb.Close Next ws End Sub

Vo vyššie uvedenom kóde sme použili dve premenné „ws“ a „wb“.

Kód prejde každým pracovným listom (pomocou slučky For Every Next) a vytvorí preň zošit. Tiež používa metódu kopírovania objektu pracovného hárka na vytvorenie kópie pracovného hárka v novom zošite.

Všimnite si toho, že som použil príkaz SET na priradenie premennej „wb“ akémukoľvek novému zošitu, ktorý je vytvorený kódom.

Túto techniku ​​môžete použiť na priradenie objektu zošita k premennej. Toto je popísané v ďalšej časti.

Priradiť objekt zošita k premennej

Vo VBA môžete priradiť objekt k premennej a potom pomocou premennej na tento objekt odkazovať.

Napríklad v nižšie uvedenom kóde používam VBA na pridanie nového zošita a jeho priradenie k premennej wb. Na to musím použiť príkaz SET.

Keď priradím zošit k premennej, všetky vlastnosti zošita budú k dispozícii aj pre premennú.

Sub AssigntoVariable () Dim wb as Workbook Set wb = Workbooks.Add wb.SaveAs Filename: = "C: \ Users \ sumit \ Desktop \ examples.xlsx" End Sub

Všimnite si toho, že prvým krokom v kóde je deklarácia ‘wb’ ako premennej typu zošita. VBA to hovorí, že táto premenná môže obsahovať objekt zošita.

Nasledujúci príkaz používa SET na priradenie premennej k novému zošitu, ktorý pridávame. Po dokončení tohto priradenia môžeme zošit uložiť (alebo s ním urobiť čokoľvek iné) pomocou premennej wb.

Opakovanie prostredníctvom otvorených zošitov

Už sme videli niekoľko vyššie uvedených príkladov kódov, ktoré v kóde používali opakovanie.

V tejto časti vysvetlím rôzne spôsoby, ako prechádzať otvorenými zošitmi pomocou VBA.

Predpokladajme, že chcete uložiť a zavrieť všetky otvorené zošity, okrem toho, v ktorom je kód, potom môžete použiť nasledujúci kód:

Podzatvorené a uložené pracovné zošity () Dim wb ako zošit pre každý wb v zošitoch If wb.Name ThisWorkbook.Name Then wb.Close SaveChanges: = True End If Next wb End Sub

Vyššie uvedený kód používa slučku For Každý na prechádzanie každým zošitom v kolekcii Zošity. Aby sme to urobili, musíme najskôr deklarovať „wb“ ako premennú typu zošita.

V každom cykle cyklu je analyzovaný každý názov zošita a ak sa nezhoduje s názvom zošita, ktorý obsahuje kód, po uložení jeho obsahu sa zatvorí.

To isté je možné dosiahnuť aj pomocou inej slučky, ako je uvedené nižšie:

Sub CloseWorkbooks () Dim WbCount As Integer WbCount = Workbooks.Count for i = WbCount to 1 Step -1 If Workbooks (i) .Name ThisWorkbook.Name Then Workbooks (i) .Close SaveChanges: = True End If Next i End Sub

Vyššie uvedený kód používa slučku For Next na zatvorenie všetkých zošitov okrem toho, v ktorom je kód. V tomto prípade nepotrebujeme deklarovať premennú zošita, ale namiesto toho musíme spočítať celkový počet otvorených zošitov. Keď máme počítanie, pomocou cyklu For Next prejdeme každý zošit. V tomto prípade tiež odkazujeme na zošity pomocou indexového čísla.

Všimnite si toho, že vo vyššie uvedenom kóde sa cyklujeme z WbCount do 1 s krokom -1. Je to potrebné, pretože pri každom cykle sa zošit zatvorí a počet zošitov sa zníži o 1.

Chyba pri práci s objektom zošita (chyba spustenia „9“)

Jednou z najčastejších chýb, s ktorými sa môžete stretnúť pri práci so zošitmi, je - Chyba pri spustení „9“ - dolný index je mimo dosahu.

Chyby VBA nie sú spravidla veľmi informatívne a často nechávajú na vás, aby ste zistili, kde sa stala chyba.

Tu sú niektoré z možných dôvodov, ktoré môžu viesť k tejto chybe:

  • Zošit, ku ktorému sa pokúšate získať prístup, neexistuje. Ak sa napríklad pokúšam získať prístup k piatemu zošitu pomocou zošitov (5) a sú otvorené iba 4 zošity, zobrazí sa táto chyba.
  • Ak do zošita používate nesprávny názov. Ak je napríklad názov vášho zošita Example.xlsx a použijete Example.xlsx. potom vám ukáže túto chybu.
  • Ak ste si neuložili zošit a používate rozšírenie, zobrazí sa táto chyba. Ak je napríklad názov vášho zošita Kniha1 a použijete názov Book1.xlsx bez uloženia, zobrazí sa táto chyba.
  • Zošit, ku ktorému sa pokúšate získať prístup, je zatvorený.

Získajte zoznam všetkých otvorených zošitov

Ak chcete získať zoznam všetkých otvorených zošitov v aktuálnom zošite (zošite, v ktorom kód spustíte), môžete použiť nasledujúci kód:

Sub GetWorkbookNames () Dim wbcount As Integer wbcount = Workbooks.Count ThisWorkbook.Worksheets.Add ActiveSheet.Range ("A1"). Activate for i = 1 To wbcount Range ("A1"). Offset (i - 1, 0). Hodnota = zošity (i). Názov Ďalej i Koniec Pod

Vyššie uvedený kód pridá nový pracovný hárok a potom uvedie názov všetkých otvorených zošitov.

Ak chcete získať aj ich cestu k súboru, môžete použiť nasledujúci kód:

Sub GetWorkbookNames () Dim wbcount As Integer wbcount = Workbooks.Count ThisWorkbook.Worksheets.Add ActiveSheet.Range ("A1"). Activate for i = 1 To wbcount Range ("A1"). Offset (i - 1, 0). Hodnota = zošity (i). Cesta & "\" & zošity (i). Názov Ďalej i Koniec Sub

Otvorte zadaný zošit dvojitým kliknutím na bunku

Ak máte zoznam ciest k súborom pre zošity programu Excel, môžete pomocou nižšie uvedeného kódu jednoducho dvakrát kliknúť na bunku s cestou k súboru a tento zošit sa otvorí.

Súbor Sub Subbook_SheetBeforeDoubleClick (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Workbooks.Open Target.Value End Sub

Tento kód by bol umiestnený do okna s kódom ThisWorkbook.

Urobiť toto:

  • V prieskumníkovi projektov dvakrát kliknite na objekt ThisWorkbook. Objekt ThisWorkbook by mal byť v zošite, kde chcete túto funkciu.
  • Skopírujte a prilepte vyššie uvedený kód.

Teraz, ak máte presnú cestu k súborom, ktoré chcete otvoriť, môžete to urobiť jednoduchým dvojitým kliknutím na cestu k súboru a VBA by tento zošit okamžite otvoril.

Kam vložiť kód VBA

Zaujíma vás, kam smeruje kód VBA vo vašom zošite programu Excel?

Excel má backend VBA nazývaný editor VBA. Kód musíte skopírovať a vložiť do okna kódu modulu VB Editor.

Tu sú kroky, ako to urobiť:

  1. Prejdite na kartu Vývojár.
  2. Kliknite na možnosť Visual Basic. Tým sa otvorí editor VB v backende.
  3. Na table Project Explorer v editore VB kliknite pravým tlačidlom myši na ľubovoľný objekt zošita, do ktorého chcete vložiť kód. Ak sa Project Explorer nezobrazuje, choďte na kartu Zobraziť a kliknite na Project Explorer.
  4. Prejdite na položku Vložiť a kliknite na modul. Tým sa vloží objekt modulu do vášho zošita.
  5. Skopírujte a prilepte kód do okna modulu.

Tiež by sa vám mohli páčiť nasledujúce návody na Excel VBA:

  • Ako zaznamenať makro v programe Excel.
  • Vytvorenie funkcie definovanej používateľom v programe Excel.
  • Ako vytvoriť a používať doplnok v programe Excel.
  • Ako odstrániť makrá umiestnením do osobného zošita makier.
  • Získajte zoznam názvov súborov zo priečinka v programe Excel (s VBA aj bez neho).
  • Ako používať funkciu Excel VBA InStr (s praktickými PRÍKLADMI).
  • Ako zoradiť údaje v programe Excel pomocou VBA (Podrobný sprievodca).

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave