Anweisung "Function"

Eine Funktion ist ein Codeblock, der ausgeführt wird, wenn er aufgerufen wird. Eine Funktion wird normalerweise in einem Ausdruck aufgerufen.

Sie können Daten, bekannt als Parameter oder Argumente, an eine Funktion übergeben. Sie können einen Parameter als Wert oder als Verweis übergeben. Bei Verweis werden Änderungen, die auf den Parameter in der Funktion angewendet werden, an den aufrufenden Code zurückgesendet.

Eine Funktion gibt normalerweise Daten als Ergebnis zurück.

Syntax:

Diagramm einer Anweisung Function


  [Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
          Anweisungen
      [Exit Function]
          Anweisungen
  End Function

Parameter:

Bereich: Der Standardbereich der Funktion ist Public. Der Bereich Private bezeichnet eine modulinterne Routine, die nicht von anderen Modulen verwendet werden soll.

Name: Name der Unterroutine, die den von der Funktion zurückgegebenen Wert enthalten soll.

Argumente: Parameter, die an das Unterprogramm übergeben werden.

Argumentfragment

Fragment für argument


      {[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}
    
Parameter

Optional: Das Argument ist nicht obligatorisch.

ByRef: Das Argument wird als Referenz übergeben. NyRef ist die Standardeinstellung.

ByVal: Das Argument wird als Wert übergeben. Sein Wert kann von der aufgerufenen Routine geändert werden.

char: Typdeklarationszeichen.

typename: Primitiver Datentypname. Bibliotheks- oder moduldefinierte Typen können ebenfalls angegeben werden.

= expression: Legen Sie einen Standardwert für das Argument fest, der seinem deklarierten Typ entspricht. Optional ist für jedes Argument erforderlich, das einen Standardwert angibt.

ParamArray: Verwenden Sie ParamArray, wenn die Anzahl der Parameter unbestimmt ist. Ein typisches Szenario ist das einer benutzerdefinierten Calc-Funktion. Die Verwendung von ParamArray sollte auf das letzte Argument einer Routine beschränkt sein.

tip

Die Verwendung von ParamArray oder = expression erfordert, dass Option Compatible vor dem ausführbaren Programmcode in einem Modul platziert ist.


warning

Bei Verwendung von Option VBASupport 1 werden Argumente Optional ohne Standardwert (= expression) entsprechend ihrem Datentyp initialisiert, außer wenn Variant.


Typnamenfragment

Fragment primitiver Datentypen


      {Boolean|Byte|Currency|Date|Double|Integer|Long|Object|Single|String|Variant}
    
Zeichenfragment

Zeichen-Typdeklaration


      { % | & | ! | # | $ | @ }
    

Beispiele:


Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siStep = 0 To 10 ' Array mit Testdaten füllen
        sListArray(siStep) = chr$(siStep + 65)
        MsgBox sListArray(siStep)
    Next siStep
    sReturn = LinSearch(sListArray(), "B")
    Print sReturn
End Sub
 
Function LinSearch( sList(), sItem As String ) As Integer
Dim iCount As Integer
' Linsearch durchsucht ein TextArray:sList() nach einem TextEntry:
' Rückgabewert ist der Index des Eintrags oder 0 ( Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit For ' sItem gefunden
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function

Bitte unterstützen Sie uns!