Byť programátorom VBA môže byť niekedy zdrvujúce. Jedným zo spôsobov, ako sa pozerať na VBA, je, že je to nástroj, ktorý vám umožňuje napodobňovať príkazy Excelu. Zvážte napríklad toto vyhlásenie VBA:
Rozsah („A1:A12“). Názov = „Názvy mesiacov“
Vykonanie tohto príkazu VBA má rovnaký účinok ako výber Vzorce → Definované názvy → Definovať názov na zobrazenie dialógového okna Nový názov, do poľa Názov napíšete názvy mesiacov a do poľa Odkazuje A1:A12 a kliknete na tlačidlo OK.
Keď spustíte príkaz VBA, dialógové okno Nový názov sa nezobrazí. Toto je takmer vždy to, čo chcete, aby sa stalo; nechcete, aby dialógové okná blikali na obrazovke počas vykonávania makra.
V niektorých prípadoch však možno budete chcieť, aby sa vo vašom kóde zobrazilo jedno z mnohých vstavaných dialógových okien programu Excel a umožnilo používateľovi vykonať voľby v dialógovom okne. Môžete to urobiť pomocou VBA na vykonanie príkazu na páse s nástrojmi. Tu je príklad, ktorý zobrazí dialógové okno Nový názov. Adresa v poli Odkazuje na predstavuje rozsah, ktorý je vybratý pri vykonávaní príkazu.
Zobrazenie jedného z dialógových okien Excelu pomocou VBA.
Application.CommandBars.ExecuteMso “NameDefine”
Váš kód VBA nemôže získať žiadne informácie z dialógového okna. Ak napríklad spustíte kód na zobrazenie dialógového okna Nový názov, váš kód nemôže získať názov zadaný používateľom ani rozsah, ktorý je pomenovaný.
ExecuteMso je metóda objektu CommandBars a akceptuje jeden argument: parameter idMso, ktorý predstavuje ovládací prvok pásu kariet. Bohužiaľ, tieto parametre nie sú uvedené v systéme pomocníka. A keďže pás s nástrojmi neexistuje navždy, kód, ktorý používa metódu ExecuteMso, nie je kompatibilný s verziami pred Excelom 2007.
Tu je ďalší príklad použitia metódy ExecuteMso. Po vykonaní tohto príkazu sa zobrazí karta Písmo v dialógovom okne Formát buniek:
Application.CommandBars.ExecuteMso
"FormatCellsFontDialog"
Ak sa pokúsite zobraziť vstavané dialógové okno v nesprávnom kontexte, Excel zobrazí chybové hlásenie. Tu je napríklad príkaz, ktorý zobrazí dialógové okno Formát čísla:
Application.CommandBars.ExecuteMso “NumberFormatsDialog”
Ak vykonáte tento príkaz, keď to nie je vhodné (napríklad je vybratý tvar), Excel zobrazí chybové hlásenie, pretože toto dialógové okno je vhodné len pre bunky hárka.
Excel má tisíce príkazov. Ako môžete nájsť názov toho, čo potrebujete? Jedným zo spôsobov je použiť kartu Prispôsobiť pás s nástrojmi v dialógovom okne Možnosti programu Excel. Rýchly spôsob, ako sa tam dostať, je kliknúť pravým tlačidlom myši na ľubovoľný ovládací prvok pásu a v kontextovej ponuke vybrať položku Prispôsobiť pás s nástrojmi.
Prakticky každý príkaz dostupný v Exceli je uvedený na ľavom paneli. Nájdite príkaz, ktorý potrebujete, umiestnite naň kurzor myši a v popise (je to časť v zátvorkách) uvidíte jeho tajný názov príkazu.
Pomocou karty Prispôsobiť pás s nástrojmi identifikujte názov príkazu.