Innhald

# Sub-uttrykket

Definerer ein subrutine (underrutine)

### Syntaks:

    [Private | Public] Sub name[(argument1 [As typename][, argument2[char][,...]])]
        ' uttrykk
        [Exit Sub]
        ' uttrykk
    End Sub

### Parametrar:

namn: Namnet på subrutinen.

argument: Valfrie parametrar som skal overførast til subrutinen.

##### argumentfragment

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

##### Parametrar

Optional: Argumentet er ikkje obligatorisk.

ByRef: Argumentet vert overført ved referanse. ByRef er standard.

ByVal: Argumentet vert overført ved verdi. Verdien kan endrast av den oppkalla rutinen.

char: Typedeklareringsteikn.

typename: Primitivt datatypenamn. Også bibliotek eller moduldefinerte typar kan spesifiserast.

= expression: Oppgjev ein standardverdi for argumentet som samsvarar med den deklarerte typen. Optional er nødvendig for kvart argument som er ein standardverdi.

ParamArray: Bruk ParamArray når talet på parametrar ikkje er fastsett. Eit typiske scenario er ein brukardefinert funksjon i Calc. Bruken av ParamArray må avgrensast til det siste argumentet i ein rutine.

Bruk av ParamArray eller = expression krev at Option Compatible er sett inn i ein modul framføre programkoden som skal utførast.

Når du brukar Option VBASupport 1, vert argumenta Optional brukte utan standardverdi (= expression) initialiserte ut frå datatypen, bortsett frå Variant.

##### typenamn-fragment

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

##### teikn-fragment

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

### Eksempel:

    Sub ExampleExit
    Dim sReturn As String
    Dim sListArray(10) As String
    Dim siStep As Single
        For siStep = 0 To 10 ' Fyll tabellen med testdata
            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 søkjer ei TextArray:sList() etter eit TextEntry:
    ' Returverdien er indeksen for oppføringa eller 0 (Null)
        For iCount=1 To Ubound( sList() )
            If sList( iCount ) = sItem Then
                Exit For ' sItem funne
            End If
        Next iCount
        If iCount = Ubound( sList() ) Then iCount = 0
        LinSearch = iCount
    End Function

Liknande emne

Grunnleggjande om subrutinar

Bruka prosedyrar, funksjonar og eigenskapar

Function-uttrykket

Property-uttrykket

Støtt oss!