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

ReDim bei mehrdimins. Array

ReDim bei mehrdimins. Array
17.04.2014 15:40:27
Achim
Hallo,
ich habe folgendes versucht:
Dim arrFeld() as String, zaehler as Integer
...
...
ReDim Preserve arrFeld(1 To zaehler, 1 To 5)
...
Ich erhalte eine Fehlermeldung: "Index außerhalb gültigen Bereichs ...", CodeNr. 9
Was mache ich falsch, oder geht ein ReDim bei mehrdiminsionale Arrays nicht?
Danke und Viele Grüße
Achim

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

Betreff
Datum
Anwender
Anzeige
Der Fehler liegt in den ... (owT)
17.04.2014 15:50:44
EtoPHG

...oder es wird zyklisch redimmt, dann kann ...
17.04.2014 16:12:59
Luc:-?
…beim 2.Mal nur die letzte Dimension redimmt wdn, Achim,
falls zaehler sich inzwischen geändert hat. Findet man auch in der VBE-Hilfe!
Gruß & FrOst, Luc :-?

AW: ...oder es wird zyklisch redimmt, dann kann ...
17.04.2014 16:27:00
Achim
Hallo Luc:-?
Danke für Deine Antwort.
Kannst Du mir kurz die Codezeile zeigen?
Wäre dies so etwa?
ReDim Preserve arrFeld(1 To zaehler, ) - also die zweite Diminsion frei lassen, oder wie geht dass?
Es wird übrigends die erste Diminsion ReDimed ...
Oder muss ich dann beim ersetn Dim sowas schreiben:
Dim arrFeld( , 1 To 5)
ReDim Preserve arrFeld(1 To zaehler, )
Danke, und auch Dir frohe Ostern ... :-)
Viele Grüße
Achim

Anzeige
ReDim Preserve mehrdimensional
18.04.2014 01:07:29
Erich
Hi Achim,
das steht recht deutlich in der VBA-Hilfe zu ReDim:
"Die Anzahl der Dimensionen kann nicht verändert werden.
Mit dem Schlüsselwort Preserve können Sie nur die Größe der letzten Datenfelddimension
ändern. Wenn das Datenfeld zum Beispiel nur eine Dimension hat, können Sie die Größe
dieser Dimension ändern, weil es die letzte und einzige Dimension ist.
Hat das Datenfeld jedoch mindestens zwei Dimensionen, so können Sie lediglich die
Größe der letzten Dimension ändern, wenn der Inhalt des Datenfeldes erhalten bleiben soll."
Das heißt:
Dim arrFeld() as String, zaehler as Integer
ReDim Preserve arrFeld(1 To zaehler, 1 To 5) - ist falsch,
ReDim Preserve arrFeld(1 To 5, 1 To zaehler) - ist richtig.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige