Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Array um 3.Dimension erweitern

Array um 3.Dimension erweitern
14.09.2005 13:37:32
Klaus
Hallo,
ich erstelle ein Array aus einem Tabellenblatt -Array(zeile,spalte)
In einem anderen Prozess lasse ich mit den Werten des Array
in einer Schleife Objekte erstellen.
Diese werden durchnummeriert.
Kann ich, und viel wichtiger wie ;-) , in der Schleife gleich
das Array um eine 3. Dimension
für die Nr. der Ojekte erweitern ? - Array(zeile,spalte,ObjektNr)
Vielen Dank !

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array um 3.Dimension erweitern
14.09.2005 13:39:52
MichaV
Hallo Klaus,
aus der REDIM- Hilfe: "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"
Du musst also ein neues Array mit 3 Dimensionen anlegen und die Daten da reinschaufeln.
Gruss- Micha
PS: Rückmeldung wäre nett.
AW: Array um 3.Dimension erweitern
14.09.2005 14:21:23
Klaus
Hi Micha,
das ist ja schon mal eine Aussage.
Aber könnte ich das Array nicht gleich auf 3 Dimensionen definieren und erst mal
nur die Werte aus der Tabelle einlesen ?
Dann hätte ich doch eigentlich schon bei der 2. Schleife ( in der die Objektnummern dazukommen) meine 3. Dimension ?
Anzeige
AW: Array um 3.Dimension erweitern
14.09.2005 14:26:35
MichaV
Hallo Klaus,
ich weiß nicht, wie Du das Array erzeugst. Zuerst schreibst Du "ich erstelle ein Array aus einem Tabellenblatt -Array(zeile,spalte)" ...dann würde ich denken Du machst Array=Range("A1:D5"). Dann kannst Du vorab keine 3. Dimension definieren und musst schaufeln.
Wenn Du nun aber "einlesen" schreibst, dann sieht das nach "Zelle für Zelle abgreifen" aus. Array(x,y,1)=Cells(x,y). Da kannst Du natürlich noch einige weitere Dimensionen vorher definieren.
Die erste Variante ist auf jeden Fall schneller, wenn Du viele Daten zu bearbeiten hast.
Gruss- Micha
PS: Rückmeldung wäre nett.
Anzeige
Beispiel
14.09.2005 20:25:10
Klaus
anbei ein Beispiel :
'Bereich der Tabelle nach Textimport ermitteln
rows_zähler = wks_fahrzeugdaten.UsedRange.Rows.Count
cells_zähler = wks_fahrzeugdaten.UsedRange.Columns.Count
ReDim Array_Kfz_Daten(rows_zähler, cells_zähler) 'Array dimensionieren
'Werte in Array einlesen
For zeile = 1 To rows_zähler
For spalte = 1 To cells_zähler
Array_Kfz_Daten(zeile, spalte) = wks_fahrzeugdaten.Cells(zeile, spalte)
Soweit ist mir das klar. Jetzt möchte ich hier noch das Erstellen von Objekten einbinden.
Auch nicht das Problem. Jedes Objekt bekommt vom System eine fortlaufende Nummer.
Was ich nicht 'raffe ist, wie kann ich
Array_Kfz_Daten(zeile, spalte) = wks_fahrzeugdaten.Cells(zeile, spalte)
in
Array_Kfz_Daten(zeile, spalte,XXX) = _
wks_fahrzeugdaten.Cells(zeile, spalte) + ObjektNr. ändern ?
Ich bekomm' die Syntax einfach nicht hin.
Offensichtlich kann ich nur 2dimensional denken ;-)
Anzeige
AW: Beispiel
14.09.2005 20:44:53
MichaV
Hallo Klaus,
die ungefähr die Hälfte der Menschheit kann nicht 3-Dimensional denken ;o) Darum können sie auch kein Auto fahren.
so geht, was Du Dir vorstellst:
rows_zähler = wks_fahrzeugdaten.UsedRange.Rows.Count
cells_zähler = wks_fahrzeugdaten.UsedRange.Columns.Count
ReDim Array_Kfz_Daten(rows_zähler, cells_zähler, 2) 'Array dimensionieren
'Werte in Array einlesen
For zeile = 1 To rows_zähler
For spalte = 1 To cells_zähler
ObjNr=ObjNr+1
Array_Kfz_Daten(zeile, spalte,1) = wks_fahrzeugdaten.Cells(zeile, spalte)
Array_Kfz_Daten(zeile, spalte,2) = ObjNr
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
heureka ;-)
14.09.2005 21:33:54
Klaus
Hi Micha,
mit Hilfe des Bildes ;-) und nach x-fachem Durchlesen hats' dann geklingelt und
mir ist die Bedeutung der 2 in
ReDim Array_Kfz_Daten(rows_zähler, cells_zähler, 2) klargeworden.
Ist doch logisch ;-))
Herzlichen Dank für Deine Mühe mit mir
Gruß, Klaus
Fein! Danke für Deine Rückmeldung. owT
15.09.2005 14:29:13
MichaV

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige