/ / Objekt aplikací aplikace Excel VBA

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:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

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.

WorksheetFunction v aplikaci Excel VBA

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:

Range("A3").Value = "=AVERAGE(A1:A2)"

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:

Dim i As Integer

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.

ScreenUpdating

2. Chcete-li proces urychlit, aktualizujte kód následujícím způsobem.

Dim i As Integer

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:

ActiveWorkbook.Close

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.

DisplayAlerts

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.

Application.DisplayAlerts = False

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:

Application.Calculation = xlCalculationManual

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.

Možnosti výpočtu

3. Nyní, když změníte hodnotu buňky A1, nebude hodnota buňky B1 přepočítána.

Ruční výpočet

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.

Application.Calculation = xlCalculationAutomatic
Také si přečtěte: