Clever-Excel-Forum

Normale Version: Wie komme ich an die einzelnen Array Elemente heran?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

habe folgenden Code-Schnipsel:

Sub ArrayList_Methoden()

Dim arList As ArrayList
Set arList = New ArrayList
arList.Add (Range("I1:I10"))

Debug.Print arList.Item  ???? ' Wie komme ich an die einzelnen Elemente dran?

End Sub

Ich kann im Lokal-Fenster bei der Einzelschritt-Compilierung mit der F8 Taste sehen,
dass im Array List die Elemente abgespeichert wurden.

Aber wie komme ich dran?
Hallo,

in dem du die einzelnen Elemente ansprichst, die du habwen willst, z.B. arList(3, 5) - bedeutet Elemente das 3. Element in der 5. Spalte, sofern das Array nicht 0-Basiert ist, sonst wäre es das 4. Element in der 6. Spalte.
Hallo,

ArrayList ist kein Standardobjekt von VBA. Solltest Du die Bibliothek mscorlib.dll eingebunden haben (über Extras / Verweise prüfen),
dann führt das Einlesen einer Range dazu, dass die quasi dort 1 zu 1 abgelegt wird. Der Code wäre dann so ...

Code:
ub ArrayList_Methoden()

  Dim arList As ArrayList
  Set arList = New ArrayList
  
  arList.Add ActiveSheet.Range("I1:I10")
  
  Debug.Print arList.Item(0)(1, 1)
  Debug.Print arList.Item(0)(2, 1)
  Debug.Print arList.Item(0)(3, 1)
  Debug.Print arList.Item(0)(4, 1)
  Debug.Print arList.Item(0)(5, 1)
  
End Sub

Gruß
Hallo,

ich hatte zu "hoch" gezählt, statt eine 1 eine Null zuerst, deshalb scheiterten meinen ganzen Versuche. Danke!

Auch interessant (zumindest für mich) , es macht wohl dann doch noch einen Unterschied, ob

man nur Range(Bereich) nimmt oder ActiveSheet.Range(Bereich) (siehe Lokalfenster beiim Einzelschrittmodus)

Wieder was gelernt.