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:

Funksjonsuttrykks-diagram


  [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

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.

tip

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


warning

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


typenavn fragment

primitive datatypefragment


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

skriv deklarasjonstegn


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

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

Supporter oss!