Objekt aplikácie Excel VBA - ľahké makrá Excelu

Obsah

Pracovný listFunkcia | Aktualizácia obrazovky | DisplayAlerts | Kalkulácia

Matkou všetkých objektov je samotný Excel. Hovoríme tomu Objekt aplikácie. Objekt aplikácie poskytuje prístup k mnohým možnostiam súvisiacim s programom Excel.

Pracovný listFunkcia

Vlastnosť WorksheetFunction môžete použiť v Excel VBA prístup k funkciám programu Excel.

1. Napríklad umiestnite príkazové tlačidlo na list a pridajte nasledujúci riadok kódu:

Rozsah ("A3"). Hodnota = Application.WorksheetFunction.Average (rozsah ("A1: A2"))

Keď kliknete na príkazové tlačidlo v hárku, Excel VBA vypočíta priemer hodnôt v bunke A1 a bunke A2 a výsledok vloží do bunky A3.

Poznámka: namiesto Application.WorksheetFunction.Average jednoducho použite WorksheetFunction.Average. Ak sa pozriete na panel vzorcov, uvidíte, že samotný vzorec nie je vložený do bunky A3. Ak chcete vložiť samotný vzorec do bunky A3, použite nasledujúci riadok kódu:

Rozsah ("A3"). Hodnota = "= AVERAGE (A1: A2)"

Aktualizácia obrazovky

Niekedy môže byť užitočné zakázať aktualizáciu obrazovky (aby sa zabránilo blikaniu) počas vykonávania kódu. Výsledkom bude, že váš kód pobeží rýchlejšie.

1. Napríklad umiestnite príkazové tlačidlo na list a pridajte nasledujúce riadky kódu:

Dim i As Integer
Pre i = 1 až 10 000
Rozsah („A1“). Hodnota = i
Ďalej i

Keď kliknete na príkazové tlačidlo v hárku, Excel VBA zobrazí každú hodnotu na malý zlomok sekundy, čo môže nejaký čas trvať.

2. Ak chcete proces urýchliť, aktualizujte kód nasledovne.

Dim i As Integer
Application.ScreenUpdating = False
Pre i = 1 až 10 000
Rozsah („A1“). Hodnota = i
Ďalej i
Application.ScreenUpdating = True

Výsledkom bude to, že váš kód pobeží oveľa rýchlejšie a uvidíte iba konečný výsledok (10 000).

DisplayAlerts

Môžete dať príkazu Excel VBA, aby počas vykonávania kódu nezobrazoval upozornenia.

1. Napríklad umiestnite príkazové tlačidlo na list a pridajte nasledujúci riadok kódu:

ActiveWorkbook.Zavrieť

Keď kliknete na príkazové tlačidlo na pracovnom hárku, Excel VBA zatvorí váš súbor Excel a požiada vás o uloženie zmien, ktoré ste vykonali.

2. Ak chcete, aby program Excel VBA nezobrazoval toto upozornenie pri spustení kódu, aktualizujte kód nasledovne.

Application.DisplayAlerts = False
ActiveWorkbook.Zavrieť
Application.DisplayAlerts = Pravda

Výsledkom je, že Excel VBA zatvorí váš súbor Excel bez toho, aby vás požiadal o uloženie zmien, ktoré ste vykonali. Všetky zmeny sa stratia.

Kalkulácia

V predvolenom nastavení je výpočet nastavený na automatický. Výsledkom je, že Excel zošit automaticky prepočíta vždy, keď sa zmení hodnota ovplyvňujúca vzorec. Ak váš zošit obsahuje veľa zložitých vzorcov, môžete makro zrýchliť nastavením výpočtu na manuálny.

1. Napríklad umiestnite príkazové tlačidlo na list a pridajte nasledujúci riadok kódu:

Application.Calculation = xlCalculationManual

Keď kliknete na príkazové tlačidlo v hárku, Excel VBA nastaví výpočet na manuálny.

2. Môžete si to overiť kliknutím na Súbor, Možnosti, Vzorce.

3. Keď teraz zmeníte hodnotu bunky A1, hodnota bunky B1 sa neprepočíta.

Zošit môžete ručne prepočítať stlačením klávesu F9.

4. Vo väčšine situácií nastavíte výpočet na automatický na konci kódu. Na tento účel stačí pridať nasledujúci riadok kódu.

Application.Calculation = xlCalculationAutomatic

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

wave wave wave wave wave