Objekt aplikace Excel VBA
Funkce pracovního listu | ScreenUpdating | DisplayAlerts | Výpočet
Matkou všech objektů je samotný Excel. Říkáme tomu Objekt aplikace. Objekt aplikace umožňuje přístup k mnoha možnostem souvisejícím s aplikací Excel.
Funkce pracovního listu
Vlastnost WorksheetFunction můžete použít v souboru Excel VBA pro přístup k funkcím aplikace Excel.
1. Například na pracovním listu umístěte příkazové tlačítko a přidejte následující řádek:
Po klepnutí na příkazové tlačítko v listu Excel VBA vypočítá průměr hodnot v buňce A1 a buňce A2 a umístí výsledek do buňky A3.
Poznámka: místo aplikace Application.WorksheetFunction.Průměr, jednoduše použijte funkci WorksheetFunction.Average. Pokud se podíváte na vzorec, můžete vidět, že vzorec sám není vložen do buňky A3. Chcete-li vložit vzorec sám do buňky A3, použijte následující řádek:
ScreenUpdating
Někdy může být užitečné zakázat aktualizaci obrazovky (aby se zabránilo blikání) při provádění kódu. V důsledku toho bude váš kód fungovat rychleji.
1. Například na pracovním listu umístěte příkazové tlačítko a přidejte následující řádky kódu:
For i = 1 To 10000
Range("A1").Value = i
Next i
Po klepnutí na příkazové tlačítko v listu Excel VBA zobrazuje každou hodnotu zlomek sekundy a to může chvíli trvat.
2. Chcete-li proces urychlit, aktualizujte kód následujícím způsobem.
Application.ScreenUpdating = False
For i = 1 To 10000
Range("A1").Value = i
Next i
Application.ScreenUpdating = True
V důsledku toho bude váš kód fungovat mnohem rychleji a uvidíte konečný výsledek (10000).
DisplayAlerts
Můžete instruovat aplikaci Excel VBA, aby během spouštění kódu nezobrazovala upozornění.
1. Například na pracovním listu umístěte příkazové tlačítko a přidejte následující řádek:
Po klepnutí na příkazové tlačítko v listu Excel VBA zavře soubor aplikace Excel a požádá o uložení provedených změn.
2. Chcete-li instruovat aplikaci Excel VBA, aby tuto výstrahu nezobrazovala při provádění kódu, aktualizujte kód následujícím způsobem.
ActiveWorkbook.Close
Application.DisplayAlerts = True
Výsledkem je, že aplikace Excel VBA zavře váš soubor aplikace Excel, aniž by vás požádala o uložení provedených změn. Změny jsou ztraceny.
Výpočet
Ve výchozím nastavení je výpočet nastaven na automatický. V důsledku toho Excel automaticky přepočítá sešit pokaždé, když se změní hodnota ovlivňující vzorec. Pokud váš sešit obsahuje mnoho složitých vzorců, můžete makro urychlit nastavením výpočtu na manuální.
1. Například na pracovním listu umístěte příkazové tlačítko a přidejte následující řádek:
Po klepnutí na příkazové tlačítko v listu Excel VBA nastaví výpočet na manuální.
2. Můžete to ověřit kliknutím na Soubor, Volby, Vzorce.
3. Nyní, když změníte hodnotu buňky A1, nebude hodnota buňky B1 přepočítána.
Sadu lze ručně přepočítat stisknutím klávesy F9.
4. Ve většině situací znovu nastavíte výpočet na konec kódu. Pro dosažení tohoto cíle jednoduše přidejte následující řádek kódu.