Inhoud

# Instructie Function

Een functie is een codeblok dat wordt uitgevoerd wanneer het wordt aangeroepen. Een functie wordt meestal aangeroepen in een expressie.

U kunt gegevens, ook wel parameters of argumenten genoemd, doorgeven aan een functie. U kunt een parameter doorgeven op waarde of op referentie. Wanneer door verwijzing, wijzigingen die zijn toegepast op de parameter in de functie, worden teruggestuurd naar de aanroepende code.

Een functie retourneert meestal gegevens als resultaat.

### Syntaxis:

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

### Parameters:

scope: Het standaardbereik van de functie is Public. Een Private scope geeft een interne routine van een module aan, die niet bedoeld is om vanuit andere modules te worden gebruikt.

name: Naam van de subroutine die de waarde moet bevatten die door de functie wordt geretourneerd.

arguments: Parameters die aan de subroutine moeten worden doorgegeven.

##### fragment argument

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

##### Parameters

Optioneel: Het argument is niet verplicht.

ByRef: Het argument wordt op referentie doorgegeven. ByRef is de standaardwaarde.

ByVal: De waarde wordt meegegeven. Deze waarde kan door de aangeroepen routine worden gewijzigd.

char: Het teken voor de declaratie van het type.

typename: Naam van het primitieve datatype. U kunt ook types specificeren die in bibliotheken en modules zijn gedefinieerd.

= expression: Specificeer een standaardwaarde die overeenkomt met het type. Als u een standaardwaarde voor een argument specificeert, dan is het logisch dat het argument optioneel is.

ParamArray: Gebruik ParamArray als het aantal parameters niet bekend is. Een voorbeeld hiervan is een door de gebruiker gedefinieerde functie in Calc. Als het argument ParamArray gebruikt wordt dan zou het altijd het laatste genoemde argument van de routine moeten zijn.

Bij het gebruik van ParamArray of = expression is het verplicht dat Option Compatible wordt gebruikt in de code van de module voor het uitvoerbare gedeelte van de code.

Bij het gebruik van Option VBASupport 1, Optional worden argumenten zonder standaardwaarde (= expression) geïnitialiseerd op grond van hun gegevenstype, m.u.v het type Variant.

##### fragment typename

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

##### fragment char

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

## Voorbeelden:

    Sub ExampleExit
    Dim sReturn As String
    Dim sListArray(10) As String
    Dim siStep As Single
        For siStap = 0 To 10 ' Array vullen met testgegevens
            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
    ' LijstZoek zoekt in een TekstArray:sLijst() naar een TekstItem:
    ' Teruggegeven waarde is de index van het item, of 0 (Nul)
        For iCount=1 To Ubound( sList() )
            If sList( iCount ) = sItem Then
                Exit For ' sItem gevonden
            End If
        Next iCount
        If iCount = Ubound( sList() ) Then iCount = 0
        LinSearch = iCount
    End Function

Verwante onderwerpen

Subroutines basics

Procedures, Functies of Eigenschappen gebruiken

Instructie Sub

Instructie Property