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

dynamisches Feld

dynamisches Feld
19.08.2002 11:18:56
Jule
Hallo halli,
und zwar habe ich eine dynamisches Feld (dim platte() as string)angelegt, dass mit dem Befehl redim preserve platte(nummer)erweitert werden soll. normalerweise sorgt das preserve dafür, dass die vorher in dem feld abgespeicherten werte nicht gelöscht werden, doch genau das passiert bei mir. Kann mir irgendwer einen schlauen tipp geben, womit ich alle vorher im Feld gespeicherten werte erhalten kann?

besten dank,.....Jule

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: dynamisches Feld
19.08.2002 11:30:05
Anton
Hallo,

kann ich nicht nachvollziehen. Folgender Beispielcode funktioniert:

Setze nach den Schleifen jeweil einen Breakpoint und schau die den Arrayinhalt an. (Die Integers werden automatisch in Strings konvertiert.)

Anton

Re: dynamisches Feld
19.08.2002 11:30:47
L.Vira
das ist schon ok, du solltest den ganzen relevanten Code posten.
Re: dynamisches Feld
19.08.2002 11:42:53
jule
Also der relevante code wäre ungefähr das:

Sub auswertung(plattennummer, control)

Dim spalte1 As String
Dim spalte2 As String
Dim zeile1 As Integer
Dim zeile2 As Integer
Dim platte() As String

spalte1 = cmbplatte_1.Value
spalte2 = cmbplatte_2.Value
zeile1 = cmbzahl1.Value
zeile2 = cmbzahl2.Value

'Daten in eine dynamisches Feld einlesen
ReDim Preserve platte(plattennummer)
platte(plattennummer - 1) = (spalte1 & zeile1 & ":" & spalte2 & zeile2)

If control = True Then
For i = 0 To plattennummer - 1
Range(platte).Select 'das ist erstmal nur zum testen
Next i
End If
End Sub

Anzeige
Re: dynamisches Feld
19.08.2002 11:44:03
Jule
danke, aber das find ich ja auch in der VBA-Hilfe, das bringt mich nicht weiter, leider....
jule
Re: dynamisches Feld
19.08.2002 11:51:34
Anton
Ohne ein Stückchen Code von dir ging's nicht besser. Hellsehen kann ich nicht ;-).

Aber aus dem Code, den du auf L.Viras Antwort gepostet hast, ist der Fehler zu entnehmen.

Deine Variable platte() ist innerhalb der Prozedur nicht statisch definiert und "lebt" somit nur solange die Funktion durchlaufen wird. Anschließend wird sie gelöscht. Wenn du Platte() über mehrere Prozedurdurchläufe erhalten willst definiere sie mit dem Schlüsselwort static.

Das findest du auch in der Online-Hilfe.

Anton

Anzeige
Re: dynamisches Feld
19.08.2002 11:52:56
L.Vira
Als erstes fällt mir auf, dass du nicht Option Explicit nutzt, das solltest du aber in deinem eigenen Interesse immer tun.
Re: dynamisches Feld
19.08.2002 11:58:49
Jule
....das steht am anfang des ganzen codes, aber selbst wenn, hätte das ja nix mit meinem Problem zu tun.

jule

Re: dynamisches Feld
19.08.2002 12:01:12
jule
ah das klingt nach etwas sehr sinnvollem, ich danke oh großmeister und werd das gleich mal ausprobieren.
merci beaucoupe
Jule :-)
Re: dynamisches Feld
19.08.2002 12:05:00
Jule
Wahnsinn, kleine Ursache große Wirkung, ich verbeuge mich tief in großer Dankbarkeit ;-)

Jule

Re: dynamisches Feld
19.08.2002 12:08:25
L.Vira
Ich weiß nicht, wie dein Unterprogramm mit Werten versorgt wird, aber eins fehlt auf jeden Fall:
dein Code:
If control = True Then
For i = 0 To plattennummer - 1
Range(platte).Select 'das ist erstmal nur zum testen
Next i
End If
End Sub
richtig wäre:
Range(platte(i)).Select
Anzeige
Re: dynamisches Feld
19.08.2002 12:20:22
jule
ok, das hatte ich vergessen, aber das war auch nicht so wichtig, da ich den Inhalt im Direktfenster überprüft hatte.
Ich dank dir trotzdem, für das spendieren deiner gedanken :-)

jule

Re: dynamisches Feld
19.08.2002 12:36:08
Anton
Oh, zuviel der Ehre.

Freue mich, geholfen zu haben.

Anton

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige