Sub Statement

Definerer en subrutine.

note

Sub, Function or Property statements are similar methods, without distinction. They receive parameters by reference allowing them to be modified in return. Collabora Office Basic compiler accepts their respective argument syntax to be used interchangeably.


Syntaks:

Subuttrykk diagram


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

Parametre:

navn: Navn på subrutinen.

argumenter: Valgfrie parametere som du vil overføre til subrutinen.

argument fragment

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

UsingParamArray or = expression require Option Compatible to be placed before the executable program code in a module.


warning

When using Option VBASupport 1, Optional arguments with no default value (= expression) are initialized according to their data type, except if 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!