Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
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
Dynamisches Array
15.10.2018 23:18:44
Marc
Hallo Forumsgemeinde,
ich kämpfe seit Stunden damit ein Array mit mehreren Zeilen zu erzeugen um dieses Später in einer Listbox darzustellen.
Im lokalen Fenster kann ich verfolgen wie sich das Array zunächst beim ersten positiven Suchergebnis (aus einem anderen Sheet) mit den gewünschten Werten füllt.
Wenn die Schleife beim nächsten positiven Suchergebnis mit Hilfe von "ReDim Preserve" die Anzahl der Zeilen im Array erweitern soll dann bekomme ich die Fehlermeldung, der "Index sei außerhalb des gültigen Bereichs".
Das ist der betreffende Teil des Codes:

Dim CoName as String
CoName = Inputbox("Wert suchen:")
Dim TSheet As Object
Set TSheet = ActiveWorkbook.Worksheets("Yahoo Tickersymbole")
Dim Zeilenzahl as Long
Zeilenzahl = TSheet.UsedRange.Rows.Count '
Dim Zeile As Long
Dim xVar()
For Zeile = 5 To Zeilenzahl
If InStr(1, TSheet.Cells(Zeile, 2).Value, CoName) > 0 Then
xVar = xVar + 1
ReDim Preserve vArray(0 To xVar, 2)
vArray(xVar, 0) = TSheet.Cells(Zeile, 1).Value
vArray(xVar, 1) = TSheet.Cells(Zeile, 2).Value
vArray(xVar, 2) = TSheet.Cells(Zeile, 3).Value
Else
End If
Next Zeile

Ist es grundsätzlich möglich die Anzahl der Zeilen in einem Array dynamisch zu erweitern? Wenn ja, wie muss ich den Code anpassen um das zu erreichen?
Viele Grüße

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisches Array
15.10.2018 23:23:59
onur
Du kannst nur die LETZTE Dimension eines Arrays verändern.
AW: Dynamisches Array
15.10.2018 23:36:36
Marc
Es muss doch eine Möglichkeit geben ein zweidimensionales Array mit dynamischer Zeilenanzahl zu erzeugen.
Wenn nicht, welche Alternative gibt es?
AW: Dynamisches Array
15.10.2018 23:46:02
onur
Wo ist das Problem? Vertausche einfach die Dimensionen.
P.S. Statt
ReDim Preserve vArray(0 To xVar, 2)

reicht auch
ReDim Preserve vArray(xVar, 2)

denn, wenn du nix angibst, fängt es immer mit 0 an.
AW: Dynamisches Array
16.10.2018 23:02:30
Marc
Vielen Dank Onur, leider ist mir nicht bekannt wie man die Dimensionen vertauschen könnte. Ich gehe zunächst mal davon aus vorne stehen die Zelen und hinten die Spalten. Wie kann man das vertauschen?
Die Variante "ReDim Preserve vArray(xVar, 2)" funktioniert nicht. Das hatte ich bereits vor dem Thread getestet. Beim Zweiten positiven Suchergebnis bricht er dann ab sobald das Array erweitert werden soll.
Anzeige
AW: Dynamisches Array
16.10.2018 08:18:38
Luschi
Hallo Marc,
lösche doch das Array und re-dimensioniere es neu, hier ein Schleifen-Beispiel::

Sub test1()
Dim xVar As Integer
'Dim vArray()
For xVar = 3 To 7
ReDim vArray(0 To xVar, 2)
vArray = Range(Cells(1, 1), Cells(xVar, 2)).Value
'Array löschen
Erase vArray
Next xVar
End Sub
Gruß von Luschi
aus klein-Paris
AW: Dynamisches Array
16.10.2018 23:14:45
Marc
Hallo Luschi,
Du bist tasächlich aus Klaa Paris? Dann sei gegrüßt Nachbar. ;)
Zu Deinem Vorschlag: Also wenn ich das Array jedes mal wieder lösche dann lösche ich doch auch mit jedem mal den bereits vorhandenen Inhalt. Ich will aber mit jedem positiven Suchergebnis den inhalt erweitern und die vorherigen positiven Suchergebnisse im Array behalten.
Anzeige
AW: Dynamisches Array
18.10.2018 18:47:54
Marc
Ich habe das Problem nun gelöst indem ich zunächst die Spalten erweitert habe und dann alles in ein zweites Array verschoben habe (transponiert bzw. gedreht sozusagen).
Mit Worksheet.Transpose(vArray) hat es leider nicht geklappt, weshalb weiß ich nicht aber mit der folgenden Schleife hat es dann geklappt:
Dim tArray()
ReDim tArray(xVar, 2)
Dim colCount As Integer
For colCount = 0 To xVar
tArray(colCount, 0) = vArray(0, colCount) ' Ticker
tArray(colCount, 1) = vArray(1, colCount) ' Name
tArray(colCount, 2) = vArray(2, colCount) ' Börse
Next colCount

Anzeige
AW: Dynamisches Array
19.10.2018 18:24:20
onur
Und warum ist der Thread noch offen?

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige