VBA - Otváranie a používanie editora jazyka Visual Basic (VBE) v programe Excel

Tento tutoriál vám ukáže, ako sa otvára a programuje v editore jazyka Visual Basic vo VBA.

Otvorenie editora jazyka Visual Basic

Existuje niekoľko spôsobov, ako získať prístup k editoru Visual Basic (VBE) v programe Excel.

Stlačte Alt + F11 na vašej klávesnici.

ALEBO

Kliknite Zobraziť> Makrá> Zobraziť makrá. Odtiaľto môžete Upraviť existujúce makro alebo Vytvoriť nový. Obe možnosti otvoria editor VB.

ALEBO

Vývojár> Visual Basic

Poznámka: Ak sa pás s nástrojmi pre vývojárov nezobrazuje, budete ho musieť povoliť.

Povolenie pásky pre vývojárov

Klikni na Súbor na páse s nástrojmi a prejdite nadol na možnosti. V Prispôsobte stuhu možnosti, zaškrtnite Vývojár začiarkavacie políčko. Toto je predvolene vypnuté, takže ho budete musieť zapnúť, aby ste videli kartu na páse s nástrojmi.

Kliknite OK.

Na hlavnom páse s nástrojmi sa zobrazí karta Vývojár. Kliknutím na položku Visual Basic na začiatku pásu s nástrojmi sa dostanete do editora jazyka Visual Basic.

Pochopenie obrazovky VBE

Obrazovka VBE je zobrazená na obrázku nižšie.

Prieskumník projektu

Project Explorer vám umožňuje vidieť, ako je organizovaný projekt, v ktorom pracujete. Môžete vidieť, koľko modulov a formulárov je uložených v projekte, a môžete sa medzi týmito modulmi a formulármi pohybovať. V module je uložený kód vo vašom zošite, keď zaznamenáte makro, bude uložený v štandardnom module - ktorý bude v predvolenom nastavení pomenovaný „Modul 1 '.

Každý z pracovných hárkov vo vašom súbore Excel má za sebou tiež modul, rovnako ako samotný zošit. Keď vložíte nový hárok do zošita cez hlavnú obrazovku Excelu, v Prieskumníkovi projektu sa zobrazí ďalší modul hárka.

Dvojitým kliknutím na modul sa presuniete na kód pre tento modul.

Môžete tiež kliknúť na ponuku Okno na paneli s nástrojmi a vybrať tam požadovaný modul, čím sa presuniete na kód pre tento modul.

Typ modulov

Moduly sú usporiadané do 5 rôznych typov.

  1. Štandardné moduly - väčšina vášho kódu pôjde do tohto typu modulu. Keď zaznamenáte makro, vloží sa do štandardného modulu. Keď napíšete všeobecný postup, ktorý sa má použiť v celom zošite, obvykle sa tiež prenesie do štandardného modulu.
  2. Moduly zošita - tento modul obsahuje kód, ktorý je jedinečný pre tento individuálny zošit. Väčšina kódu v týchto typoch modulov je známa ako DIANIA. K udalosti môže dôjsť napríklad vtedy, keď je zošit otvorený alebo zatvorený. Modul môže tiež obsahovať kód, ktorý napíšete sami a použijú ho udalosti.
  3. Moduly listov - tento modul obsahuje kód, ktorý je jedinečný pre tento jednotlivý list. Môžu sa vyskytnúť napríklad vtedy, keď kliknete na list ( Kliknite na položku Udalosť) alebo keď zmeníte údaje v bunke. Tento modul môže obsahovať aj kód, ktorý napíšete sami a ktorý zavolajú udalosti.
  4. Moduly formulárov - toto je modul za vlastným formulárom, ktorý môžete vytvoriť. Môžete napríklad vytvoriť formulár na uchovávanie podrobností o faktúre. Pomocou tlačidla OK kód za tlačidlom (udalosť kliknutia) obsahuje kód, ktorý sa spustí po kliknutí na tlačidlo.
  5. Moduly triedy - tento modul sa používa na vytváranie objektov za behu. Moduly triedy používajú pokročilí programátori VBA a budú popísané v neskoršej fáze.

Vloženie modulu alebo formulára do kódu

Ak chcete do kódu vložiť nový modul, kliknite na ikonu Vložiť na paneli s ponukami a kliknite na Modul.

Alebo kliknite na Vložte modul tlačidlo, ktoré nájdete na štandardnej stuhe.

Ak chcete do kódu vložiť nový užívateľský formulár, vyberte položku UserForm možnosť.

Nový užívateľský formulár sa zobrazí v priečinku Prieskumník projektu a budú zobrazené v okne s kódom vpravo.

Môžete tiež vložiť a Modul triedy

Na vkladanie objektov do vášho projektu VBA sa používa modul triedy.

Odstránenie modulu alebo formulára z Prieskumníka projektov

Kliknutím pravým tlačidlom myši na modul alebo formulár, ktorý chcete odstrániť, sa zobrazí kontextová ponuka pravým tlačidlom myši.

Kliknite Odstrániť (v tomto prípade UserForm1… )

ALEBO

Klikni na Súbor ponuku a potom kliknite na Odstráňte (UserForm1).

Zobrazí sa výstražné pole s otázkou, či chcete formulár alebo modul exportovať pred jeho odstránením. Export formulára alebo modulu vám umožňuje uložiť ho ako individuálny súbor na použitie v inom projekte programu Excel v inom čase.

Pri odstraňovaní modulu alebo formulára sa často stáva, že ho nepotrebujete, takže kliknite na tlačidlo Nie.

Okno vlastností

Uvidíte okno vlastností pod Prieskumník projektu. Možno to budete musieť zapnúť.

Stlačte F4 alebo klikni vyhliadka, Okno vlastností.

Okno vlastností vám umožňuje vidieť vlastnosti pre konkrétny modul alebo formulár, ktorý je vybratý v Prieskumník projektu. Keď pracujete s modulmi, pomocou okna vlastností môžete zmeniť názov modulu. Toto je jediná vlastnosť, ktorá je k dispozícii pre modul. Keď však pracujete s formulármi, bude k dispozícii oveľa viac vlastností a okno Vlastnosti sa potom vo veľkom používa na ovládanie správania sa formulárov a ovládacích prvkov obsiahnutých vo formulári.

Keď zaznamenáte makro, automaticky sa vloží do štandardného modulu. Modul bude mať názov „Modul 1 ' a akýkoľvek kód, ktorý je obsiahnutý v tomto module, je k dispozícii na použitie v celom projekte. Modul by ste mali premenovať na niečo dôležité, čo by uľahčilo nájdenie kódu, ak by ste do projektu pridali viac modulov.

Môžete tiež premenovať svoje formuláre.

Ak ste v Exceli premenovali hárok, názov hárka sa zobrazí ako názov hárka v zátvorkách za Listom1.

Ak chcete zmeniť názov modulu za hárkom, môžete ho zmeniť rovnakým spôsobom, akým zmeníte názov modulu a používateľského formulára - zmenou vlastnosti Názov v okne Vlastnosti.

Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!

Okno s kódom

Okno s kódom vám ukazuje čiastkové postupy a funkcie, ktoré sú obsiahnuté vo vašich moduloch - ukazuje vám skutočný kód. Keď zaznamenávate makro, vytvorí sa pre vás čiastkový postup. Ak do makra pridáte klávesovú skratku, zobrazí sa v makre ako komentár, aby ste vedeli, čo je skratka, ktorú ste priradili k makru.

V hornej časti okna kódu sú dve kombinované polia. Umožňujú vám zistiť, ktorý objekt (ak nejaký) v rámci modulu pracujete a na akom postupe pracujete.

Vo vyššie uvedenom príklade nepracujeme na žiadnom objekte - je teda nastavený na všeobecný, ale pracujeme v rámci postupu mriežky.

Ak sme v tomto module mali viac ako jednu procedúru, mohli by sme pomocou kombinovaného poľa vyššie prejsť na ďalšie procedúry.

Pochopenie kódexu

Existujú 2 typy procedúr - Vedľajšie postupy a Funkčné postupy.

Vedľajšie postupy

Makro rekordér môže zaznamenávať iba čiastkové postupy. Sub procedúra robí veci. Vykonávajú akcie, ako je formátovanie tabuľky alebo vytváranie kontingenčnej tabuľky, alebo v prípade mriežky napríklad zmena nastavení zobrazenia vášho aktívneho okna. Väčšina písomných postupov sú čiastkové postupy. Všetky makrá sú čiastkové procedúry.

Vedľajší postup začína a Sub vyhlásenie a končí sa príponou Koniec pod vyhlásenie. Za názvom postupu sú vždy zátvorky.

123 Sub HideGridLines ()ActiveWindow.DisplayGridlines = FalseKoniec pod

Funkčné postupy

Procedúra funkcie vráti hodnotu. Táto hodnota môže byť jedna hodnota, pole, rozsah buniek alebo objekt. Funkcie zvyčajne vykonávajú určitý typ výpočtu. Funkcie v programe Excel je možné použiť pomocou Sprievodcu funkciami alebo ich je možné vyvolať z čiastkových procedúr.

123 Funkcia Kilos (libry ako dvojnásobok)Kilo = (libry/2,2)Koncová funkcia

Túto funkciu je možné použiť v dialógovom okne Vložiť funkciu v programe Excel na prevod libier na kilogramy.

Vytvorenie nového postupu

Pred vytvorením novej procedúry sa uistite, že ste v module, do ktorého chcete procedúru uložiť. Nový postup môžete vytvoriť kliknutím na ponuku Vložiť, Postup;

alebo môžete kliknúť na ikonu na paneli s nástrojmi

Zobrazí sa nasledujúce dialógové okno

  1. Do poľa pre názov zadajte názov vášho nového postupu - tento musí začínať písmenom abecedy a môže obsahovať písmená a čísla a môže mať maximálne 64 znakov.
  2. Môžete mať a Vedľajší postup, a Funkčný postup alebo a Nehnuteľnosť postup. (Vlastnosti sa používajú v moduloch triedy a nastavujú vlastnosti pre ovládacie prvky ActiveX, ktoré ste vytvorili).
  3. Rozsah postupu môžete tiež vykonať Verejné alebo Súkromné. Ak je procedúra verejná (predvolená), potom ju môžu použiť všetky moduly v projekte, zatiaľ čo ak je procedúra súkromná, bude ju môcť použiť iba tento modul.
  4. Miestne premenné v tomto postupe môžete deklarovať ako Statics (to súvisí s rozsahom premennej a robí premennú na úrovni miestneho postupu verejnou pre celý modul). Túto možnosť nevyužijeme.

Keď ste vyplnili všetky relevantné údaje, kliknite na OK.

Potom zadajte svoj kód medzi príkazy Sub a End Sub.

ALTERNATÍVNE - Príkazy Sub a End Sub môžete vo svojom module zadať presne tak, ako sa zobrazuje vyššie. Slovo verejné nemusíte uvádzať pred slovo sub - ak je toto slovo vynechané, všetky postupy v module sa automaticky budú považovať za verejné.

Potom napíš Sub a potom názov vášho postupu, za ktorým nasleduje zátvorka.

tj:

1 Vedľajší test ()

The Koniec pod výpis sa zobrazí automaticky.

Programovanie VBA | Generátor kódu pracuje za vás!

Písanie kódu, ktorý je ľahko zrozumiteľný a ovládateľný

Pridávanie komentárov

Zvyknite si dávať do kódu komentáre, aby ste si v neskoršej fáze pripomenuli funkčnosť kódu.

Do kódu môžete vložiť komentár, ale písať apostrof na klávesnici, alebo môžete zapnúť panel s nástrojmi Upraviť a použiť tlačidlo komentára, ktoré sa zobrazí na tomto paneli s nástrojmi.

Kliknite pravým tlačidlom myši na panely s nástrojmi.

Vyberte Upraviť.

Kliknutím na tlačidlo komentára vložíte komentár do svojho kódu.

POZNÁMKA: Tlačidlo bloku komentárov zvyčajne používate iba vtedy, ak máte niekoľko riadkov kódu, ktorý chcete komentovať (a nie odstrániť). Pre jeden komentár je jednoduchšie použiť apostrof.

Odsadenie

Dobrým zvykom, do ktorého sa môžete dostať, je odsadiť kód, aby ste ho mohli ľahko prečítať a vidieť rôzne časti kódu.

V závislosti od logiky kódu môže existovať mnoho úrovní odsadenia.

UpperCase vs LowerCase

VBA prispôsobí všetok kód správnym písmom, takže ak zadáte VŠETKY HORNÉ alebo všetky malé písmena, upraví váš kód tak, aby bol v správnom prípade!

Programovanie VBA | Generátor kódu pracuje za vás!

Automatické dokončovanie

Keď upravíte kód, všimnete si, že sa vám VBA pokúša pomôcť navrhnutím kódu, ktorý môžete napísať. Toto sa nazýva automatické dokončovanie.

Chyba pri zachytávaní a ladení

Pri písaní kódu VBA môžu nastať 4 typy chýb - chyby syntaxe, chyby pri kompilácii, chyby pri behu a logické chyby.

Chyby syntaxe

K tomu dochádza vtedy, keď kód napíšete nesprávne. VBA tomu do značnej miery zabraňuje tým, že má zapnutú možnosť kontroly syntaxe. Toto je štandardne zapnuté, ale ak je vypnuté, zapnite ho tak, že prejdete na Nástroje, možnosti a klikni Automatická kontrola syntaxe.

Ak kód zadáte nesprávne (napríklad vylúčite niečo, čo by v kóde malo byť), pri písaní kódu sa zobrazí okno so správou, ktoré vám dáva možnosť kód zmeniť.

Chyby kompilácie

K nim dochádza vtedy, keď v kóde niečo chýba, čo bráni spusteniu kódu. Chyba sa nevyskytuje pri písaní kódu, ale vyskytuje sa pri pokuse a spustení kódu.

Programovanie VBA | Generátor kódu pracuje za vás!

Chyby runtime

K nim dochádza, keď spustíte kód a syntax a kompilácia je správna, ale niečo iné bráni správnemu spusteniu kódu.

V tomto prípade list 4 neexistuje. Toto chybové hlásenie je užitočnejšie ako chybové správy pri kompilácii, pretože vám dáva možnosť ladiť kód a zistiť, prečo nefunguje.

Kliknite Ladiť. Kód sa zastaví pri chybe a zvýrazní chybu žltou farbou, čo vám umožní chybu opraviť.

Zmeniť hárok 4 na hárok 2 (pretože hárok 2 existuje a list 4 neexistuje).

Stlačte F5 alebo kliknite na ďalej tlačidlo na paneli s nástrojmi.

Logické chyby

Tieto sa hľadajú najťažšie. V ich prípade je kód napísaný správne, ale skutočná logika kódu je chybná, takže z kódu možno nedosiahnete požadovaný výsledok. V prípade logických chýb je zachytávanie chýb nevyhnutné.

Existujú 2 typy lapačov chýb

Pri chybe prejdite na

Nasledujúci kód má otvoriť dialógové okno Otvoriť súbor - upozorní nás to chybou, ak používateľ klikne Zrušiť.

Po spustení kódu sa zobrazí dialógové okno Otvoriť súbor.

Keď potom kliknete na tlačidlo Zrušiť, zobrazí sa chyba.

Nasledujúca pasca chýb bude pokračovať v kóde na funkciu ukončenia kódu a vráti správu.

Na ukončenie funkcie sa používa funkcia On Error GoTo.

Po spustení kódu a kliknutí na tlačidlo Zrušiť sa zobrazí okno so správou.

Pri chybe Pokračovať ďalej

Ak dáte Pri chybe Pokračovať ďalej Vyhlásenie do kódu, riadok obsahujúci chybu bude ignorovaný a kód bude pokračovať.

Ak napríklad používateľ v nižšie uvedenom kóde klikne na položku Zrušiť, kód vám neposkytne chybu pri spustení, iba sa skončí bez toho, aby kód urobil čokoľvek ďalšie.

Sú chvíle, kedy je to veľmi užitočné, ale za určitých okolností to môže byť aj veľmi nebezpečné, pretože nevracia správu o tom, prečo ste dostali chybu.

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

wave wave wave wave wave