Variablendeklaration

Hallo
habe da mal wieder ein kleines Problem.

Bisher habe ich meine Variablen alle per Modul Public deklariert, somit gabs auch nie Probleme in den einzelnen Formen.

Nun habe ich aber eine Form, in der ich die Anzahl der Arrays erst bestimmen möchte. Ich muß daher in der Form die Variablen deklarieren.
Diese sind z.B. D#(7,3).

So, nun habe ich dies auch in der Form mit ReDim gemacht, verlasse ich aber die Form und rufe die Variable in einer anderen Form auf, bekomme ich logischerweise einen Fehler.
Die andere Frage ist, ist ReDim überhaupt richtig, es geht zwar scheinbar, aber die Variablen waren vorher nirgens deklariert (auch nicht im Modul).

Wie kann ich die Variablen nun richtig (global) deklarieren???.

Mfg Werner

Hallo Werner,

Bisher habe ich meine Variablen alle per Modul Public
deklariert, somit gabs auch nie Probleme in den einzelnen
Formen.

Richtig.

Nun habe ich aber eine Form, in der ich die Anzahl der Arrays
erst bestimmen möchte. Ich muß daher in der Form die Variablen
deklarieren.
Diese sind z.B. D#(7,3).

So, nun habe ich dies auch in der Form mit ReDim gemacht,
verlasse ich aber die Form und rufe die Variable in einer
anderen Form auf, bekomme ich logischerweise einen Fehler.

Auch richtig. Wenn Du die Variable in verschiedenen Formen verwenden willst, mußt Du sie global deklarieren, wie Du das ursprünglich gemacht hast.

Die andere Frage ist, ist ReDim überhaupt richtig, es geht
zwar scheinbar, aber die Variablen waren vorher nirgens
deklariert (auch nicht im Modul).

Wie kann ich die Variablen nun richtig (global)
deklarieren???.

Global deklarierst Du die Variable z.B.

Public D#()

… und legst die Anzahlder Felder im Array dann in der Form mit Redim fest. Die Dimensionierung gilt dann für alle Formen. Willst Du das Array neu dimensionieren und die alten Werte dabei nicht verlieren geht das mit Redim Preserve D#(7,3)

Gruß, Rainer
Beispiel:

'Form1
Option Explicit

Private Sub Command1\_Click()
 Form2.Show
End Sub

Private Sub Form\_Load()
 ReDim D#(8)
End Sub

'Form2
Option Explicit

Private Sub Command1\_Click()
 Command1.Caption = UBound(D)
End Sub

'Modul
Option Explicit

Public D#()

Hi
ich schreibe also einfach D#() ins Modul???

By the way, haste das Email bekommen, ich brächte das Listdingens von dir???`

Mfg Werner

Hallo Werner,

ich schreibe also einfach D#() ins Modul???

Ja, mehr ist’s nicht.

By the way, haste das Email bekommen, ich bräuchte das
Listdingens von dir???`

Nein, ich habe noch nicht nachgesehen, mach ich gleich. :smile:

Gruß, Rainer

Hallo Werner,

By the way, haste das Email bekommen, ich bräuchte das
Listdingens von dir???`

Du hast die private Mailadresse genommen? Die sehe ich erst heute Abend. Wenn’s schnell gehen soll, nimm die Adresse, die hier oben steht, oder die Firmenadresse.

Gruß, Rainer

Listdingens
Hallo
du wolltest doch noch diese Liste fertig machen für mich.
Wann machst du das denn???

Wäre schön.

Mfg Werner

Hallo Werner,

du wolltest doch noch diese Liste fertig machen für mich.
Wann machst du das denn???

*gg* die Erinnerung ist wieder da … :smile: Das mache ich heute Abend, da fehlen ja nur noch drei Zeilen.

Gruß, Rainer

hi
schön das du dich erinnerst.

Mir ist nur das mit dem Scrollen aufgefallen, das ging noch nicht sauber, wenn man auf den Balken klickt.

Mfg Werner

Du hast Post o.w.T.
Gruß, Rainer