Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

xl2000 - dyn, zweidim. Datenfeld ?

xl2000 - dyn, zweidim. Datenfeld ?
05.06.2004 17:01:13
mar.s
Hallo,
bitte um Unterstützung, kriegs einfach nicht hin, und zwar
1. ich möchte den Speicher für das Datenfeld mit "Redim"immer dem wirkl. Bedarf anpassen (das geht ja gerade noch)
2. ich möcht später im Code auf einzelne Elemente des Datenfeldes zugreifen , da klemmt's gewaltig
Inzwischen hab ich echt nen Knoten im Hirn und sehe vor lauter redims und redims preserve die Variablen nicht mehr.
https://www.herber.de/bbs/user/7141.xls
Mar.S

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

Betreff
Datum
Anwender
Anzeige
AW: xl2000 - dyn, zweidim. Datenfeld ?
Kurt
Deine Datei gibt leider überhaupt keinen Aufschluss darüber, was du eigentlich
erreichen willst. Vielleicht mal kurz beschreiben?
Kurt
AW: xl2000 - dyn, zweidim. Datenfeld ?
NE
Hai,
testest Du vielleicht sowas?

Sub test1()
Dim z&, s%, anz_Spalten%, anz_Zeilen&, x()
With Sheets(1)
anz_Zeilen = .Cells(2, 2)
anz_Spalten = .Cells(3, 2)
s = 1: z = 1
ReDim x(z To anz_Zeilen, s To anz_Spalten)
For s = 1 To anz_Spalten
For z = 1 To anz_Zeilen
x(z, s) = z & "," & s
Next z
Next s
If z - 1 = 1 And s - 1 = 1 Then
.Cells(1, 3) = x
Exit Sub
Else
Range(.Cells(1, 3), .Cells(z - 1, s)) = x
End If
End With
MsgBox x(2, 1)
End Sub

cu NE
Anzeige
AW: xl2000 - dyn, zweidim. Datenfeld ?
05.06.2004 19:07:45
mar.s
Hallo,
NE, leider noch nicht ganz, dennoch ist Teil 2 meiner Frage bei Dir gelöst.
Habe die Beispieldatei nochmal bearbeitet und ein paar Anmerkungen in der Tab. und im Code gemacht.
Das Problem ist (glaube ich zumindest), dass der Wert x(z,s) den Zählern nicht folgt, da der Speicher der Variable x() durch den redim-Befehl immer geleert wird. Wie kann ich das verhindern?
Redim brauche ich doch, da z und s erst zur Laufzeit festgelegt werden.
Anm. Ich bin kein Informatiker, sondern Hobby-excelist, (habe andere Stärken),deshalb bitte ich um etwas Geduld.
https://www.herber.de/bbs/user/7147.xls
Mar.S
Anzeige
AW: xl2000 - dyn, zweidim. Datenfeld ?
NE
Hi again,
nicht sonderlich getestet,
möglicherweise steh' ich aber auch sowas von auf'm Schlauch ...,
da ich deine Herangehensweise nicht ganz nachvollziehen kann,
hab' alles so gelassen und nur mal ein i reingebastelt,
vielleicht isses das ja schon ?
cu Nancy
--

Sub test1()
Dim i&, z&, s%, anz_Spalten%, anz_Zeilen&, x()
With Sheets(1)
anz_Zeilen = .Cells(2, 2)
anz_Spalten = .Cells(3, 2)
.Range(.Cells(1, 3), .Cells(anz_Zeilen, anz_Spalten + 2)).ClearContents
s = 0: z = 0
ReDim x(z To anz_Zeilen, s To anz_Spalten)
x(0, 0) = 0
For s = 1 To anz_Spalten
i = i + 1
For z = 1 To anz_Zeilen
i = i + 1
x(z, s) = i 'hier liegt das prob.
'wie kann ich verhindern, dass x(z-1,s-1) immer
'durch redim zu 0 gesetzt wird, redim brauche ich doch,
'da die Anzahl der z und s variabel sind
.Cells(z, s + 2) = x(z, s)
Next z
Next s
End With
MsgBox x(4, 2)
End Sub

Anzeige
Ich buddel' jetzt mal ...
NE
ein 10m tiefes Loch und such jemanden der mich zuschaufelt.
MEA CULPA!
... das tut natürlich hinten und vorne nicht, sorry
lg Nancy
AW: Ich buddel' jetzt mal ...
05.06.2004 20:06:27
mar.s
keine Panik NE, bei mir funkts ganz gut
1. ich kann x(z,s) hochzählen
2. ich kann auf bestimmte Daten zugreifen
der Rest ist Anpassen
nochmals Mar.S
AW: xl2000 - dyn, zweidim. Datenfeld ?
05.06.2004 20:02:55
mar.s
An NE,
das war's. Fehler lag nicht am Redim-Befehl, sondern das Aufsummieren in der Schleife.
Nochmals vielen Dank (auch für die schnelle Antwort - 10 min)
Mar.S
AW: xl2000 - dyn, zweidim. Datenfeld ?
05.06.2004 17:38:52
mar.s
Kurt,
die datei selbst will nichts. Die habe ich mir schnell zusammengestrickt, um das Problem zu erklären. Die urspr. Datei wäre dafür viel zu gross.
Es wird praktisch eine Matrix mit (hier) 2 Spalten und 5 Zeilen erstellt und Werte eingelesen. Die Anzahl Z/S ist variabel. Der einzelne Wert ist bestimmt durch X(z,s).
in meinem Beispiel müsst folgl. X(4,2) sollte 9 sein.
Danke für Deine Bemühungen
Mar.S
Anzeige
AW: xl2000 - dyn, zweidim. Datenfeld ?
Kurt
Wozu ist denn da ein Redim Preserve nötig? Das wäre nur erforderlich, wenn
sich die letzte Dimension erst zur Laufzeit ergibt.
Kurt

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige