Wenn ich eine Anzahl von Werten für die ParamArray-Argumentliste über ein Array übergeben möchte, wie mache ich das? Von dem, was ich bisher gelesen habe, scheint es, dass ich bei VBA explizit die Werte auflisten muss, die ich weitergeben möchte. Aber was, wenn es potentiell unterschiedliche Werte gibt, die übergeben werden können, also weiß ich nicht im Voraus, wie viele ich an die Funktion übergeben möchte? Gibt es keine Möglichkeit, ein Array (ein eindimensionales Array) mit einer variablen Dimension zu verwenden?Variable Anzahl von Argumenten in ParamArray ArgList()
1
A
Antwort
2
Es gibt mehrere Möglichkeiten, dies zu erreichen:
- Dimension das Array größer zu sein, als Sie benötigen, eine Anzahl von halten, wie viele Elemente tatsächlich hinzugefügt und dann
Redim Preserve
zurück auf die richtige Größe - Einsatz ein
Collection
Objekt statt (als normaler Parameter eher als einParamArray
)
2
Sie können eine variable Anzahl von Werten an eine Funktion, wenn die Funktion einen Param Array enthält:
http://msdn.microsoft.com/en-us/library/538f81ec(v=VS.71).aspx
http://msdn.microsoft.com/en-us/library/aa164809(v=office.10).aspx