/ / Excel VBA Volatile Funktionen

Excel VBA Volatile Funktionen

Standardmäßig UDF "s (Benutzerdefinierte Funktionen) in Excel VBA sind nicht flüchtig. Sie werden nur neu berechnet, wenn sich eines der Argumente der Funktion ändert flüchtige Funktion wird immer dann neu berechnet, wenn die Berechnung in einer Zelle des Arbeitsblatts erfolgt. Werfen wir einen Blick auf ein einfaches Beispiel, um das ein bisschen mehr zu erklären.

1. Öffnen Sie den Visual Basic-Editor und klicken Sie auf Einfügen, Modul.

Erstellen Sie eine Funktion namens MYFUNCTION, die die Summe der ausgewählten Zelle und der Zelle unter dieser Zelle zurückgibt.

2. Fügen Sie die folgenden Codezeilen hinzu:

Function MYFUNCTION(cell As Range)

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

End Function

3. Nun können Sie diese Funktion wie jede andere Excel-Funktion verwenden.

Nichtflüchtige Funktion in Excel VBA

4. Dies ist eine nichtflüchtige Funktion. Nichtflüchtige Funktionen werden nur neu berechnet, wenn sich eines der Argumente der Funktion ändert. Ändern Sie den Wert von Zelle B2 in 8.

Funktion

5. Ändern Sie nun den Wert von Zelle B3 in 11.

Alle anderen Zelländerungen

Erläuterung: Die nichtflüchtige Funktion wird nicht neu berechnet, wenn sich eine andere Zelle auf dem Blatt ändert.

6. Aktualisieren Sie die Funktion wie folgt, um die Funktion volatil zu machen:

Function MYFUNCTION(cell As Range)

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

End Function

7. Ändern Sie den Wert von Zelle B3 in 12.

Ergebnis:

Flüchtige Funktion in Excel VBA

Hinweis: Sie müssen die Funktion erneut eingeben, um sie flüchtig zu machen (oder aktualisieren Sie sie, indem Sie den Cursor in die Formelleiste setzen und die Eingabetaste drücken).

Lesen Sie auch: