Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1064to1068
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

Mehrdimensionalles Array befüllen

Mehrdimensionalles Array befüllen
03.04.2009 23:54:32
Ernst
Hallo Leute,
ich weiß nicht mehr weiter. Ich möchte ein mehrdimensionalles Array (DIM MyArryay(5,100)) befüllen, um dieses im Anschluss in eine ListBox einzuspielen. Ich habe das Array mit den Spalten und Zeilen definiert - funktioniert soweit auch. Da allerdings nur Werte mit einem bestimmten Wert übernommen werden, ergeben sich nun diverse Leerzeilen am Ende der ListBox - und das soll natürlich nicht sein.
Wie kann ich die Anzahl der Zeilen im Array dynamisch ändern? Oder kann ich die Anzahl der Zeilen im Array irgendwie offen lassen?
Gruß Ernst

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrdimensionalles Array befüllen
04.04.2009 01:59:14
Daniel
Hi
wenn du die Anzahl der benötigten Zeilen irgendwie im Makro berechnen kannst, dann kannst du die Dimension des Arrays auch erst später im Makro festlegen:

Dim MyArray() as string
x = 5 'benötigge Zeilen
y = 100 'benötigte Spalten
Redim MyArray(x, y)


Sollte sich die Anzahl der Zeilen auch nicht berechnen lassen, sondern wirklich erst in der Schleife festgestellt werden, kann man mit REDIM RRESERVE das Array erweiteren ohne die bereits gespeicherten Werte zu verlieren.
mit Redim Preserve lässt sich aber nur die 2. Dimension erweitern (dh. Spalten, nicht Zeilen).
solltest du trotzdem die Zeilen variabel halten wollen, müsstest du die Zeilen eben in der 2. Dimension abbilden und dann bei der Übergabe der Daten in die Listbox mit TRANSPOSE im Array die Zeilen mit Spalten tauschen.
Gruß, Daniel

Anzeige
AW: Mehrdimensionalles Array befüllen
04.04.2009 10:13:04
Gerd
Hallo Ernst,
evtl. wäre eine Beispielmappe gut; um dein konkretes Problem nachvollziehen zu können.
Gruß Gerd
AW: Mehrdimensionalles Array befüllen
04.04.2009 10:50:54
Beverly
Hi Ernst,
die Werte aus A1:E100 werden in das Array eingelesen wenn in Spalte A die Zelle nicht leer ist:

Sub ArrayMehrdimensional()
Dim arrWerte()
Dim inZaehler As Integer
Dim inZeile As Integer
For inZeile = 1 To 100
If Cells(inZeile, 1)  "" Then
ReDim Preserve arrWerte(0 To 4, 0 To inZaehler)
arrWerte(0, inZaehler) = Cells(inZeile, 1)
arrWerte(1, inZaehler) = Cells(inZeile, 2)
arrWerte(2, inZaehler) = Cells(inZeile, 3)
arrWerte(3, inZaehler) = Cells(inZeile, 4)
arrWerte(4, inZaehler) = Cells(inZeile, 5)
inZaehler = inZaehler + 1
End If
Next inZeile
End Sub




Anzeige
AW: Mehrdimensionalles Array befüllen
04.04.2009 11:50:29
Ernst
Super :o)
Ich danke euch - das ist genau das was ich brauchte.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige