Registriert seit: 01.02.2016
Version(en): 2007
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?
Registriert seit: 11.04.2014
Version(en): 2021
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.
![[Bild: attachment-190.gif]](https://www.world-of-smilies.com/wos_computer/attachment-190.gif)
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Folgende(r) 1 Nutzer sagt Danke an Glausius für diesen Beitrag:1 Nutzer sagt Danke an Glausius für diesen Beitrag 28
• Alison
Registriert seit: 08.05.2014
Version(en): Office 2010, Office 365, Office 365 Betakanal
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ß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awardshttps://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Folgende(r) 1 Nutzer sagt Danke an maninweb für diesen Beitrag:1 Nutzer sagt Danke an maninweb für diesen Beitrag 28
• Alison
Registriert seit: 01.02.2016
Version(en): 2007
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.