VBA – Funktion aus einer Unterprozedur aufrufen
In diesem Tutorial lernen Sie, wie Sie eine Funktion aus einer Unterprozedur (Sub) in VBA aufrufen können.
Wenn Sie eine Funktion in VBA erstellen, können Sie sie entweder als BDF (benutzerdefinierte Funktion) in Ihrer Excel-Arbeitsmappe verwenden oder sie über eine Unterprozedur aufrufen.
Eine Funktion aus einer Unterprozedur aufrufen
Sobald Sie eine Funktion erstellt haben, können Sie sie von jeder beliebigen Stelle in Ihrem Code aus aufrufen, indem Sie eine Unterprozedur verwenden.
Betrachten Sie die folgende Funktion:
Function WertErmitteln() As Integer
WertErmitteln = 50
End Function
Da Funktionen einen Wert zurückgeben, müssen wir diesen an etwas übergeben, um die Funktion aufzurufen. In diesem Fall werden wir den Wert an eine Variable übergeben:
Sub WerteTest()
Dim intVal As Integer
'Die Funktion WertErmitteln ausführen
intVal = WertErmitteln()
'und den Wert anzeigen
MsgBox intVal
End Sub
Aufrufen einer Funktion mit Parametern
Wenn die Funktion Parameter hat, müssen Sie diese in der Unterprozedur an die Funktion übergeben, um den richtigen Wert zurückzubekommen.
Function WertErmitteln(intA as Integer) As Integer
WertErmitteln = intA * 5
End Function
Um diese Funktion aufzurufen, können wir die folgende Unterprozedur ausführen.
Sub WerteTest()
MsgBox WertErmitteln(10)
End Sub
Diese Unterprozedur würde den Wert 10 an die Funktion senden, die wiederum diesen Wert mit 5 multiplizieren und den Wert 50 an die Unterprozedur zurückgeben würde.