Innhold

# Funksjonsuttrykk

En funksjon er en kodeblokk som kjører når den kalles. En funksjon kalles vanligvis i et uttrykk.

Du kan sende data, kjent som parametere eller argumenter, til en funksjon. Du kan sende en parameter etter verdi eller ved referanse. Ved referanse vil endringer som er brukt på parameteren i funksjonen bli sendt tilbake til anropskoden.

En funksjon returnerer vanligvis data som et resultat.

### Syntaks:

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

### Parametre:

omfang: Funksjons standardomfang er Offentlig. Et Privat-omfang angir en intern modulrutine, ikke ment å brukes fra andre moduler.

navn: Navn på subrutinen som skal inneholde verdien som returneres av funksjonen.

argumenter: Parametere som skal sendes til subrutinen.

##### argumentfragment

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

##### Parametre

Valgfritt: Argumentet er ikke obligatorisk.

ByRef: Argumentet sendes via en referanse. ByRef som er standard.

ByVal: Argumentet sendes med verdi. Verdien kan endres av den anropte rutinen.

char: Skriv inn deklarasjonstegn.

typenavn: Primitivt datatypenavn. Bibliotek- eller moduldefinerte typer kan også spesifiseres.

= uttrykk: Spesifiser en standardverdi for argumentet som samsvarer med dens deklarerte type. Valgfritt er nødvendig for hvert argument som spesifiserer en standardverdi.

ParamArray: Bruk ParamArray når antallet parametere er ubestemt. Et typisk scenario er en Calc brukerdefinert funksjon. Bruk av ParamArray bør begrenses til det siste argumentet i en rutine.

Bruk avParamArray eller = uttrykk krever at Option Compatible plasseres foran den kjørbare programkoden i en modul.

Når du bruker Alternativ VBASupport 1, Valgfri argumenter uten standardverdi (= uttrykk) initialiseres i henhold til deres datatype, bortsett fra hvis Variant.

##### typenavn fragment

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

##### char fragment

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

## Eksempler:

    Sub ExampleExit
    Dim sReturn As String
    Dim sListArray(10) As String
    Dim siStep As Single
        For siStep = 0 Til 10 ' Fill array with test data
            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 searches a TextArray:sList() for en Tekstoppføring:
    ' Returverdi Er indeksen til oppføringen eller 0 (null)
        For iCount=1 To Ubound( sList() )
            If sList( iCount ) = sItem Then
                Avslutt for ' sElement funnet
            End If
        Next iCount
        If iCount = Ubound( sList() ) Then iCount = 0
        LinSearch = iCount
    End Function

Lignende emner

Grunnleggende om subrutiner

Bruke prosedyrer, funksjoner og egenskaper

Sub Uttrykk

Egenskapsuttrykk