Hallo Gemeinde,
habe nach langem Suchen keine lösung für mein problem gefunden.
ich möchte ein array variabler größe initialisieren, dessen größe erst zur laufzeit festgelegt wird. Das Array soll über eine Function befüllt werden, deren inhalt und vorallem größe das array ned kennt.
Die Function baut aus der aktuellen Zeile (row) auf dem Tabellenblatt (tableName) ein Array bestehend aus den in den Feldern der Zeile eingetragenen werten zusammen und gibt als rückgabewert eben dieses Array zurück. MaxCol ist die maximale Spaltenzahl der tabelle. der wert ist bisher public, würde ihn aber gerne später nur noch in der Function verwenden, d.h. ich hab den wert dann i, Sub Test() nicht zur verfügung.
Public Function DataSetArray(tableName, row) As Variant
Dim BuildDataSetArray (1 To maxCol)
For i = LBound(BuildDataSetArray) To UBound(BuildDataSetArray)
BuildDataSetArray(i) = Cells(row, i).value
Next
DataSetArray = BuildDataSetArray
End Function
Das Array, mit dem weiter als Objekt gearbeitet werden soll, wird folgendermaßen aufgerufen:
Sub Test()
Dim DataSet1() As Variant
DataSet1 = DataSetArray(tableName, row)
.
.
.
.
.
End Sub
Leider bekomme ich immer einen Fehler, weil ich die Größe des Arrays DataSet1 nicht festgelegt hab. Wenn es aber immer unterschiedlich viele werte sind die da rein sollen, wie leg ich dann die größe fest?
Kann ich in der Zeile:
DataSet1 = DataSetArray(tableName, row)
irgendwie auch die größe von DataSet1 abhängig von DataSetArray festlegen?
Danke euch vielmals im Voraus!!!
Greetz
Mole