VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Function-Anweisung (Beispiel)

In diesem Beispiel wird die Function-Anweisung verwendet, um Namen, Argumente und Prozedurrumpf einer Function-Prozedur zu deklarieren. Das letzte Beispiel verwendet initialisierte Optional-Argumente mit festgelegtem Typ.

' Die folgende benutzerdefinierte Funktion liefert die 
' Quadratwurzel des übergebenen Arguments.
Function Quadratwurzel(Zahl As Double) As Double
    If Zahl < 0 Then    ' Argument auswerten.
        Exit Function    ' Zurück zur aufrufenden
                            ' Prozedur.
    Else
        Quadratwurzel = Sqr(Zahl) ' Quadratwurzel zurückgeben.
    End If
End Function

Durch das Schlüsselwort ParamArray kann einer Funktion eine variable Anzahl an Argumenten übergeben werden. In der folgenden Definition wird Arg1 als Wert übergeben.

Function Summe(ByVal Arg1 As Integer, ParamArray AndereArg())
Dim Ergebnis 
' Beim Aufruf der Funktion mit:
Ergebnis = Summe(4, 3 ,2 ,1)
' erhalten die lokalen Variablen die folgenden Werte: Arg1 = 4,
' AndereArg(1) = 3, AndereArg(2) = 2 usw., sofern die
' Untergrenze für Datenfeldindizes 1 ist.

Optional-Argumente können Standardwerte haben und einen anderen Typ als den Datentyp Variant annehmen.

' Wenn die Argumente einer Funktion folgendermaßen definiert sind...
Function Funktion1(Text1 As String, Optional Arg1 As _ Integer = 5, Optional Arg2 = "Dolly") 
Dim Ergebnis
' ...kann sie so aufgerufen werden:
Ergebnis = Funktion1("Hallo", 2, "Welt")    ' Alle 3 Argumente
                                                ' angegeben.
Ergebnis = Funktion1("Test", , 5)    ' Kein zweites Argument.
' Argumente 1 und 2 sind benannte Argumente.
RetVal = Funktion1(Text1:="Hello ", Arg1:=7)