Ako vytvoriť makro alebo skript VBA v programe Excel

Microsoft Excel umožňuje používateľom automatizovať funkcie a príkazy pomocou makier a skriptovania vo Visual Basic for Applications ( VBA ). VBA je programovací jazyk, ktorý Excel(VBA is the programming language Excel) používa na vytváranie makier. Bude tiež vykonávať automatické príkazy na základe špecifických podmienok.

Makrá sú séria vopred nahraných príkazov. Spustia sa automaticky po zadaní špecifického príkazu. Ak máte v programe Microsoft Excel(Microsoft Excel) úlohy , ktoré robíte opakovane, napríklad účtovníctvo, projektový manažment alebo mzdy, automatizácia týchto procesov môže ušetriť veľa času.

Na karte Vývojár(Developer) na páse(Ribbon) s nástrojmi v Exceli(Excel) môžu používatelia zaznamenávať kliknutia myšou a stlačenia klávesov (makrá). Niektoré funkcie však vyžadujú hlbšie skriptovanie, ako môžu poskytnúť makrá. To je miesto, kde sa skriptovanie VBA stáva obrovskou výhodou. Umožňuje používateľom vytvárať zložitejšie skripty.

V tomto článku vysvetlíme nasledovné:

  • Povolenie skriptov a makier
  • Ako vytvoriť makro v programe Excel
  • Špecifický príklad makra
  • Zistite viac o VBA
  • Vytvorte tlačidlo(Button) , aby ste mohli začať s VBA
  • Pridajte kód(Add Code) , ktorý poskytne tlačidlu funkčnosť(Button Functionality)
  • Fungovalo to?

Povolenie skriptov a makier(Enabling Scripts & Macros)

Pred vytvorením makier alebo skriptov VBA v (VBA)Exceli(Excel) musíte povoliť kartu Vývojár v ponuke Pás s (Developer )nástrojmi(Ribbon) . Karta Vývojár(Developer) nie je predvolene povolená. Ak ju chcete povoliť:

  • Otvorte pracovný hárok programu Excel.
  • Kliknite na Súbor(File ) > Možnosti( Options ) > Prispôsobiť pás s nástrojmi.( Customize Ribbon.)

  • Začiarknite políčko vedľa položky Vývojár(Developer) .

  • Kliknite na kartu Vývojár v ponuke Pás s (Developer)nástrojmi(Ribbon) .

  • Ďalej kliknite na Zabezpečenie makier(Macro Security) a začiarknite políčko Povoliť všetky makrá (neodporúča sa, môže sa spustiť potenciálne nebezpečný kód). (Enable all macros (not recommended; potentially dangerous code can run). )
  • Potom kliknite na tlačidlo OK.

Dôvodom, prečo makrá nie sú predvolene zapnuté a prichádzajú s upozornením, je, že ide o počítačový kód, ktorý by mohol obsahovať malvér.

(Make)Ak pracujete na zdieľanom projekte v Exceli(Excel) a iných programoch spoločnosti Microsoft , (Microsoft)uistite sa, že dokument pochádza z dôveryhodného zdroja .

Keď skončíte s používaním skriptov a makier, zakážte všetky makrá, aby ste zabránili infikovaniu iných dokumentov potenciálne škodlivým kódom.

Vytvorte makro v Exceli(Create a Macro in Excel)

Všetky akcie, ktoré vykonáte v Exceli(Excel) počas zaznamenávania makra, sa doň pridajú. 

  • Na karte Vývojár kliknite na Zaznamenať makro(Record Macro) .

  • Zadajte názov makra(Macro name) , klávesovú skratku(Shortcut key) a popis. (Description. )Názvy makier(Macro) musia začínať písmenom a nesmú obsahovať žiadne medzery. Klávesová skratka musí byť písmeno.

Z nasledujúcich možností sa rozhodnite, kam chcete makro uložiť:

  • Osobný zošit makier(Personal Macro Workbook) : Týmto sa vytvorí skrytý dokument programu Excel(Excel) s uloženými makrami, ktoré sa dajú použiť s akýmikoľvek dokumentmi programu Excel(Excel) .
  • Nový zošit(New Workbook) : Vytvorí nový dokument programu Excel(Excel) na uloženie vytvorených makier.
  • Tento zošit(This Workbook) : Toto sa použije iba na dokument, ktorý práve upravujete.

Po dokončení kliknite na tlačidlo OK

  • Vykonajte(Run) akcie, ktoré chcete automatizovať. Po dokončení kliknite na Zastaviť nahrávanie(Stop Recording)
  • Ak chcete získať prístup k makru, použite klávesovú skratku, ktorú ste mu dali.

Špecifický príklad makra(Specific Example Of a Macro)

Začnime jednoduchou tabuľkou pre zákazníkov a s tým, koľko dlhujú. Začneme vytvorením makra na formátovanie pracovného hárka.

Predpokladajme, že sa rozhodnete, že všetky tabuľky by mali používať iný formát, ako napríklad uvedenie mena a priezviska do samostatných stĺpcov. 

Toto môžete manuálne zmeniť. Alebo môžete vytvoriť program pomocou makra, ktoré ho automaticky správne naformátuje.

Zaznamenajte makro(Record The Macro)

  • Kliknite na Zaznamenať makro(Record Macro) . Nazvime to Format_Customer_Data a kliknite na tlačidlo OK
  • Aby sme dosiahli požadované formátovanie, zmeníme názov prvého stĺpca na Krstné meno(First Name)
  • Potom vložte stĺpec vedľa A a nazvite ho Priezvisko(Last Name)
  • Zvýraznite(Highlight) všetky mená v prvom stĺpci (ktoré stále obsahujú meno a priezvisko) a kliknite na Údaje(Data) v navigácii na páse s nástrojmi.
  • Kliknite na Text do stĺpcov(Text to Columns) .

  • Zaškrtnite Oddelené(Delimited) > Ďalej(Next ) > Oddeliť medzerou(Separate by Space) > Ďalej(Next ) > Dokončiť(Finish) . Pozrite si snímku obrazovky nižšie a spôsob, akým boli mená a priezviská oddelené vyššie uvedeným postupom.

  • Ak chcete formátovať pole Splatný zostatok(Balance Due) , zvýraznite sumy. Kliknite(Click) na Domov(Home ) > Podmienené formátovanie(Conditional Formatting) > Zvýrazniť pravidlá bunky(Highlight Cell Rules) > Väčšie ako(Greater Than ) > 0 .

Tým sa zvýraznia bunky, ktoré majú rovnováhu. Kvôli ďalšej ilustrácii formátovania sme pridali niekoľko zákazníkov bez zostatku.  

  • Vráťte sa do Vývojára(Developer ) a kliknite na Zastaviť nahrávanie(Stop Recording) .

Použiť makro(Apply The Macro)

Začnime s pôvodnou tabuľkou predtým, ako sme zaznamenali makro, aby bolo správne naformátované. Kliknite(Click) na Makrá(Macros) , vyberte a spustite(Run) makro, ktoré ste práve vytvorili.

Keď spustíte makro, všetko formátovanie sa vykoná za vás. Toto makro, ktoré sme práve vytvorili, je uložené v editore jazyka Visual Basic(Visual Basic Editor) .

Používatelia môžu spúšťať makrá niekoľkými rôznymi spôsobmi. Viac informácií nájdete v článku Spustenie makra(Run a macro) .  

Zistite viac o VBA(Learn More About VBA)

Ak sa chcete dozvedieť viac o VBA, kliknite na položku Makro(Macro) na karte Vývojár(Developer) . Nájdite ten, ktorý ste vytvorili, a kliknite na Upraviť.(Edit.)

Kód, ktorý vidíte v poli vyššie, je vytvorený, keď ste zaznamenali svoje makro. 

Je to tiež to, čo spustíte, keď chcete rovnakým spôsobom formátovať ďalšie tabuľky platieb zákazníkov.

Vytvorte tlačidlo, aby ste mohli začať s VBA(Create a Button To Get Started With VBA)

Pomocou tej istej tabuľky vyššie so zákazníkmi a s tým, koľko dlhujú, vytvoríme prevodník mien.

  • Ak chcete vložiť prvok tlačidla, prejdite na kartu  Vývojár .(Developer )
  • Vyberte príkazové tlačidlo ActiveX(ActiveX Command Button ) z rozbaľovacej ponuky vedľa položky Vložiť(Insert) v časti Ovládacie prvky (Controls).

  • Potiahnite(Drag) tlačidlo kdekoľvek v tabuľke, aby ste k nemu mali jednoduchý prístup a neskôr ho v prípade potreby zmenili.

  • Ak chcete pripojiť kód, kliknite pravým tlačidlom myši na tlačidlo a vyberte položku Vlastnosti(Properties) . Ponecháme Name as CommandButton a Caption to Convert (toto je text tlačidla).

Pridajte kód, ktorý poskytne tlačidlu funkčnosť(Add Code To Give The Button Functionality)

Kódovanie VBA(VBA) neprebieha v rozhraní Excelu . (Excel)Vykonáva sa v samostatnom prostredí.  

  • Prejdite na kartu Vývojár(Developer) a uistite sa, že je aktívny režim návrhu .(Design Mode)

  • Ak chcete získať prístup ku kódu tlačidla, ktoré sme práve vytvorili, kliknite naň pravým tlačidlom myši a vyberte položku Zobraziť kód(View Code) .

  • Pri pohľade na kód na snímke obrazovky nižšie si všimnite, že začiatok ( Private Sub ) a koniec ( End Sub ) kódu tam už je.

  • Nižšie uvedený kód bude riadiť postup konverzie meny.

ActiveCell.Value = (ActiveCell * 1.28)

Naším cieľom v tejto časti je previesť menu v našej tabuľke. Skript vyššie odráža výmenný kurz z GBP na USD . Nová hodnota bunky bude aktuálna hodnota vynásobená 1,28.

Snímka obrazovky nižšie ukazuje, ako kód vyzerá v okne VBA po jeho vložení.

  • Prejdite na Súbor(File ) v hornom navigačnom paneli a kliknite na Zavrieť a Návrat do Microsoft Excel(click on Close and Return to Microsoft Excel) , aby ste sa vrátili do hlavného rozhrania Excelu .(Excel)

Fungovalo to?(Did It Work?)

Predtým, ako budete môcť otestovať svoj kód, musíte najskôr vypnúť režim návrhu(Design Mode) (kliknite naň), aby ste sa vyhli ďalším úpravám a poskytli tlačidlu funkčnosť.

  • Zadajte(Type) ľubovoľné číslo do tabuľky a potom kliknite na tlačidlo Konvertovať(Convert) . Ak sa hodnota vášho čísla zvýši približne o jednu štvrtinu, fungovalo to.

V tomto príklade som do bunky vložil číslo 4. Po kliknutí na Konvertovať(Convert) sa číslo zmenilo na 5.12. Keďže 4 krát 1,28 je 5,12, kód bol vykonaný správne.

Teraz, keď ste pochopili, ako vytvoriť makro alebo skript v Exceli(Excel) , môžete ich použiť na automatizáciu množstva akcií v Exceli(Excel) .



About the author

Som počítačový profesionál s viac ako 10 ročnou praxou. Vo voľnom čase rada pomáham v kancelárii a učím deti používať internet. Moje schopnosti zahŕňajú veľa vecí, ale najdôležitejšie je, že viem pomáhať ľuďom riešiť problémy. Ak potrebujete niekoho, kto vám môže pomôcť s niečím súrne, alebo chcete len nejaké základné tipy, obráťte sa na mňa!



Related posts