VBA ParamArray-Auflistungen

Wenn Sie unter VBA eine Prozedur oder eine Funktion definieren, enthält diese immer eine feste Anzahl von Parametern. Diese können Sie auch als optional deklarieren, sodass tatsächlich weniger Werte übergeben werden als Parameter vorhanden sind. Was aber, wenn Sie den Spieß einmal umdrehen und mehr Werte als vorhandene Parameter übergeben wollen – und das auch noch flexibel Dann kommt die VBA ParamArray-Auflistung ins Spiel. In diesem Beitrag schauen wir uns an, was Sie damit machen können.

Parameter und optionale Parameter

Normalerweise legen Sie für eine Prozedur oder Funktion, nachfolgend als Routine bezeichnet, die Anzahl der Parameter genau fest:

Public Sub BeispielParameter(strText As String,  lngZahl As Long)
     Debug.Print strText
     Debug.Print lngZahl
End Sub

Der Aufruf erfolgt dann mit der exakten Zahl an Parametern:

BeispielParameter "Beispieltext", 123

Sie können auch optionale Parameter definieren, die Sie mit dem Schlüsselwort Optional versehen und die sich immer am Ende der Parameterliste befinden müssen:

Public Sub BeispielOptionaleParameter( strText As String, Optional lngZahl As Long)
     Debug.Print strText
     Debug.Print lngZahl
End Sub

Diese Prozedur können Sie so aufrufen:

BeispielOptionaleParameter "Beispieltext", 123

Sie können den zweiten Parameter aber auch weglassen:

BeispielOptionaleParameter "Beispieltext"

Die Routine verwendet dann einen Standardwert, den Sie angeben können oder auch nicht. Wenn Sie ihn nicht angeben, wird bei String-Variablen eine leere Zeichenkette, bei Zahlen der Wert 0 und bei Boolean-Werten False angenommen.

Flexible Anzahl an Parametern mit VBA ParamArray

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar