AW: [VBA] Array1, Array2,... mit variable im Namen
01.02.2017 15:25:17
Nils
Das scheint die Lösung zu sein.
Und die Perlenketten, die ich anstelle jeder Perle anhänge können unterschiedlich lang sein?
Ich scheitere aktuell die einzelnen Arrays Stand(s) zu befüllen. Egal wie ich es drehe, ich bekomme das nicht hin.
In Spalte B steht der Stand mit Wert 1 bis 16. Die Länge der Liste wird mit Anzahl ermittelt. Für jede Zeile mit Stand = 1 soll er die Zeilennummer in das Array Stand(1) schreiben, für jede Zeile mit Stand = 2 soll er die Zeilennummer in das Array Stand(2) schreiben, usw. Leider bricht die Schleife nach dem ersten Eintrag ab, Weil ich die Arraygrößen nicht verändern kann, da Stand (1 to 16) schon deklariert ist. ReDim Preserve geht nicht...
Sub ArraysFuellen()
Dim Stand(1 To 16) As Variant
Dim Zeile, Nummer, i, j, x_alt, x_neu As Integer
' Nur zum testen
Dim Anzahl As Integer
Anzahl = Application.WorksheetFunction.CountA(ActiveSheet.Range("A:A"))
For Zeile = 2 To Anzahl
Nummer = Cells(Zeile, "B")
If IsEmpty(Stand(Nummer)) Then
Stand(Nummer) = Array(Zeile) 'Ersten Zeilenwert eintragen
Else
x_alt = UBound(Stand(Nummer))
ReDim Preserve Stand(Nummer, x_alt + 1) 'Array Dimension um 1 erhöhen
x_neu = UBound(Stand(Nummer))
Stand(Nummer)(x_neu) = Zeile 'Nächsten Zeilenwerte hinzufügen
End If
Next
End Sub