/ / Excel VBA-vluchtige functies

Excel VBA-vluchtige functies

Standaard gebruikt UDF (User Defined Functions) in Excel VBA zijn niet vluchtig. Ze worden alleen herberekend als een van de argumenten van de functie verandert vluchtige functie wordt opnieuw berekend wanneer er een berekening wordt uitgevoerd in cellen in het werkblad. Laten we een eenvoudig voorbeeld nemen om dit een beetje meer uit te leggen.

1. Open de Visual Basic-editor en klik op Invoegen, Module.

Maak een functie met de naam MYFUNCTION die de som van de geselecteerde cel en de cel onder deze cel retourneert.

2. Voeg de volgende coderegels toe:

Function MYFUNCTION(cell As Range)

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

End Function

3. Nu kunt u deze functie gebruiken, net als elke andere Excel-functie.

Niet-vluchtige functie in Excel VBA

4. Dit is een niet-vluchtige functie. Niet-vluchtige functies worden alleen herberekend wanneer een van de argumenten van de functie verandert. Verander de waarde van cel B2 in 8.

Functie

5. Verander nu de waarde van cel B3 in 11.

Andere celveranderingen

Uitleg: de niet-vluchtige functie wordt niet opnieuw berekend wanneer een andere cel op het blad verandert.

6. Werk de functie als volgt bij om de functie volatiel te maken:

Function MYFUNCTION(cell As Range)

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

End Function

7. Wijzig de waarde van cel B3 in 12.

Resultaat:

Vluchtige functie in Excel VBA

Opmerking: u moet de functie opnieuw invoeren om hem vluchtig te maken (of ververs hem door de cursor in de formulebalk te plaatsen en op Enter te drukken).

Lees ook: