Πρόταση Sub

Ορίζει μια υπορουτίνα.

Σύνταξη:

Διάγραμμα πρότασης Sub


[Private | Public] Sub name[(argument1 [As typename][, argument2[char][,...]])]
    ' δηλώσεις
    [Exit Sub]
    ' δηλώσεις
End Sub

Παράμετροι:

όνομα: Το όνομα της υπορουτίνας.

ορίσματα: Προαιρετικοί παράμετροι που θέλετε να περάσετε στην υπορουτίνα.

τμήμα ορίσματος

τμήμα ορίσματος


      {[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}
    
Παράμετροι

Optional: Το όρισμα δεν είναι υποχρεωτικό.

ByRef: Το όρισμα περνιέται με αναφορά. Το ByRef είναι η προεπιλογή.

ByVal: Το όρισμα περνιέται κατά τιμή. Η τιμή του μπορεί να τροποποιηθεί από τη ρουτίνα που καλεί.

char: Χαρακτήρας δήλωσης τύπου.

typename: Όνομα τύπου πρωτογενών δεδομένων. Μπορούν επίσης να καθοριστούν τύποι που καθορίζονται από βιβλιοθήκη ή άρθρωμα.

= expression: Καθορίστε μια προεπιλεγμένη τιμή για το όρισμα, που συμφωνεί με τον δηλωμένο τύπο του. Το Optional είναι απαραίτητο για κάθε όρισμα καθορίζοντας μια προεπιλεγμένη τιμή.

ParamArray: Χρησιμοποιήστε ParamArray όταν ο αριθμός των παραμέτρων είναι απροσδιόριστος. Μια τυπική εκδοχή είναι αυτή μιας συνάρτησης Calc του χρήστη. Η χρήση του ParamArray πρέπει να περιοριστεί στο τελευταίο όρισμα μιας ρουτίνας.

tip

Η χρήση της ParamArray ή της = expression απαιτεί η Option Compatible να τοποθετηθεί πριν τον εκτελέσιμο κώδικα του προγράμματος σε ένα άρθρωμα.


warning

Κατά τη χρήση της Option VBASupport 1, Optional ορίσματα χωρίς προεπιλεγμένη τιμή (= expression) αρχικοποιούνται σύμφωνα με τον τύπο των δεδομένων τους, εκτός από Variant.


τμήμα ονόματος τύπου

τμήμα τύπων πρωτογενών δεδομένων


      {Boolean|Byte|Currency|Date|Double|Integer|Long|Object|Single|String|Variant}
    
τμήμα χαρακτήρα

χαρακτήρες δήλωσης τύπου


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

Παραδείγματα:


Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siStep = 0 to 10 ' Γεμίζει τον πίνακα με τα δεδομένα δοκιμής
        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 αναζητεί ένα TextArray:sList() για TextEntry:
' Η τιμή επιστροφής είναι ο δείκτης της καταχώρησης ή 0 (Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit for ' το sItem βρέθηκε
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function

Παρακαλούμε, υποστηρίξτε μας!