/ / Volatilní funkce Excel VBA

Volací funkce VBA Excel

Ve výchozím nastavení jsou UDF (funkce definované uživatelem) v Excel VBA nejsou volatilní. Přepočítají se pouze tehdy, když se změní některý z argumentů funkce volatilní funkce bude přepočítán vždy, když dojde k výpočtu v libovolných buňkách v listu. Podívejme se na jednoduchý příklad, abychom to vysvětlili trochu víc.

1. Otevřete editor jazyka a klepněte na Vložit, modul.

Vytvořte funkci nazvanou MYFUNCTION, která vrátí součet vybrané buňky a buňky pod touto buňkou.

2. Přidejte následující řádky kódů:

Function MYFUNCTION(cell As Range)

MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

3. Nyní můžete tuto funkci používat stejně jako všechny ostatní funkce aplikace Excel.

Nezastupitelné funkce v aplikaci Excel VBA

4. Toto je energeticky nezávislá funkce. Nezměnné funkce se přepočítají pouze tehdy, když se změní některý z argumentů funkce. Změňte hodnotu buňky B2 na hodnotu 8.

Funkce

5. Nyní změňte hodnotu buňky B3 na 11.

Jakékoli jiné změny buněk

Vysvětlení: netěkavá funkce není přepočtena, když se změní nějaká jiná buňka na listu.

6. Aktualizujte funkci následujícím způsobem, aby se funkce stala prchavou:

Function MYFUNCTION(cell As Range)

Application.Volatile
MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

7. Změňte hodnotu buňky B3 na hodnotu 12.

Výsledek:

Volatile funkce v aplikaci Excel VBA

Poznámka: je třeba znovu zadat funkci, aby se stala nestálou (nebo ji obnovte umístěním kurzoru do řádku vzorců a stisknutím klávesy enter).

Také si přečtěte: