Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verweis auf Array in Schleife

Verweis auf Array in Schleife
21.02.2024 14:30:42
Maischens
Hallo,


ich versuche mich derzeit daran einzeln geschrieben Anweisungen in Schleifen zusammenzufassen.


Im Makro befinden sich diverse eindimensionale Arrays (arrListe1, arrListe2, etc.) mit Einträgen,
die sich vom Namen her nur durch die Nummerierungszahl unterscheiden. Mit diesen Arrays sollen am Ende Listboxen (LiBo1, LiBo2, etc.) gefüllt werden
die sich ebenso durch die Nummerierung im Namen unterscheiden.

Nun möchte ich die Arrays vor der Übergabe an die Listbox in einer Schleife bearbeiten und anschließen in die Listboxen füllen.


Gibt es die Möglichkeit die Arrays in eine Schleife zu fassen um die Bearbeitung Codemäßig zu vereinheitlichen.

Grundsätzlich hapert es beim Ansprechen des Arrays in Verbindung mir der fortlaufenden Variable innerhalb der Schleife.

Das einfache Verketten in Form von Arrayname & Laufvariable um das Array anzusprechen funktioniert nicht.


Ist dies überhaupt möglich?


Mfg Maischens

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verweis auf Array in Schleife
21.02.2024 15:06:41
onur
"§Im Makro befinden sich diverse eindimensionale Arrays (arrListe1, arrListe2, etc.) mit Einträgen" - Mach doch einfach EIN zweidimensionales Array daraus.
AW: Verweis auf Array in Schleife
21.02.2024 15:32:20
daniel
Hi
du könntest ein übergeordnetes Array erstellen, welches die andern Arrays als Wert enthält. und dann damit in einer Schleife arbeiten:

hier mal ein Beispiel, wie du drei Arrays in einer Schleife bearbeiten kannst

Sub test()

Dim A1, A2, A3
Dim Ax
Dim i As Long, j As Long
A1 = Split("a b c d e", " ")
A2 = Split("G H I", " ")
A3 = Split("j K l M o P q r", " ")

Ax = Array(A1, A2, A3)

For i = LBound(Ax) To UBound(Ax)
For j = LBound(Ax(i)) To UBound(Ax(i))
Ax(i)(j) = Ax(i)(j) & "x"
Next
Next


Debug.Print Join(Ax(0), " ")


End Sub
Anzeige
AW: Verweis auf Array in Schleife
21.02.2024 20:32:02
Maischens
Nabend,


danke für eure Anregungen und Vorschläge.

Mit den Arrays in einem Array wäre bestimmt gegangen, allerdings habe ich dann an anderer Codestelle eine ähnliche Konstellation gehabt bei der allerdings
2 stellige Kürzel in Buchstabenform als Namensunterscheidung waren (LiBoDruckenAK, LiBoDruckenLP, etc.)

Das einzige Array das ich schlussendlich benutzt habe ist ein Array mit den Kürzeln (AK, LP, etc.).

Dann Schleife ich mit einer For each Schleife durch die Kürzel dieses Arrays und spreche die Listboxen über
OLEObject("LiBoDrucken" & Kürzel) an.

Die Bearbeitung erfolgt dann vollständig im Listbox Objekt.


Vielen Dank für eure Unterstützung.


Hier mal noch ein Codeschnipsel zum Verständnis



' Typen-Array füllen
varTypen = Array("AK", "BK", "LP", "MP", "WB")

' Schleife für jeden Typ im Typen-Array
For Each varTyp In varTypen

' Listbox leeren
Me.OLEObjects(strLiBo & varTyp).Object.Clear

' etc.

Next varTyp
Anzeige
AW: Verweis auf Array in Schleife
21.02.2024 18:13:38
schauan
Hallöchen,

eine andere, aber optisch ziemlich ähnliche Variante wäre die Sammlung in einer Collection.
Sub test()

'Variablendeklarationen
Dim A1, A2, A3 'Variant-Arrays
Dim Ax As Collection
Dim iCnt As Long, jCnt As Long
'Arrays befuellen
A1 = Split("a b c d e", " ")
A2 = Split("G H I", " ")
A3 = Split("j K l M o P q r", " ")
'Collection setzen
Set Ax = New Collection
'Collectionelemente fuellen
Ax.Add A1
Ax.Add A2
Ax.Add A3
'Schelife ueber alle Collection-Elemente
For iCnt = 1 To Ax.Count
'Schleife ueber alle Array-Elemente
For jCnt = LBound(Ax.Item(iCnt)) To UBound(Ax.Item(iCnt))
'Ausgabe im Debug-Fenster
Debug.Print Ax.Item(iCnt)(jCnt)
'Ende Schelife ueber alle Array-Elemente
Next
'Ende Schelife ueber alle Collection-Elemente
Next
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige