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

Elemente eines Arrays in anderem Modul ändern

Elemente eines Arrays in anderem Modul ändern
08.11.2019 11:59:17
Dennis
Hallo alle miteinander,
ich schreibe gerade an einem kleinen Tool, für das ich ein Array erstellen möchte (Einfach die Zahlen von 1 bis 30). Diese sollen dann an späterer Stelle (in einem Klassenmodul, dass dynamisch erstellten Buttons einer UserForm einen Click-Befehl zuordnet) einfach geändert werden (in meinem Fall = 0 gesetzt werden, um klar zu machen, dass diese Zahl (z.B. die 7) bereits genutzt wurde.
Ich habe dieses Array, wie auch z.B. eine Variable als Public deklariert. Die Variable darf ich ändern, die Elemente des Arrays nicht.
Hier einmal der Code:
Im Modul der UserForm mit dem Namen Schneidezettel:
______________________________________
Public nummerierung As Variant
Public index_nummerierung
Sub UserForm_Initialize()
ReDim nummerierung(29) As Integer
probennummer = 1
nummer_probe = 0
mark = 0 'anfangs ist keine schicht markiert
For f = 0 To 29
nummerierung(f) = f + 1
Next
index_nummerierung = 0
End Sub

_______________________________________
Im Klassenmodul Klasse1:
Sub btEvents_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal  _
Y As Single)
MsgBox Schneidezettel.nummerierung(0)
Schneidezettel.nummerierung(0) = 19
MsgBox Schneidezettel.nummerierung(0)
MsgBox Schneidezettel.index_nummerierung
Schneidezettel.index_nummerierung = 19
MsgBox Schneidezettel.index_nummerierung
End Sub

________________________________________
Die Messageboxen liefern
1
1
0
19
Obwohl ich erwartet habe, dass sie
1
19
0
19
liefern. Ich darf also die Variable Schneidezettel.index_nummerierung ändern, aber nicht das Element des Arrays Schneidezettel.nummerierung(0), obwohl es korrekt abgerufen wird.
Vielen Dank schon einmal und ich hoffe, dass mir jemand helfen kann.
Liebe Grüße,
Dennis

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Elemente eines Arrays in anderem Modul ändern
08.11.2019 12:44:16
Nepumuk
Hallo Dennis,
lade bitte deine Mappe hoch.
Gruß
Nepumuk
AW: Elemente eines Arrays in anderem Modul ändern
08.11.2019 13:02:57
Dennis
Hallo Nepumuk,
https://www.herber.de/bbs/user/133018.xlsm
Hoffe das hilft. Mit der Schaltfläche öffnet sich die UserForm. Mit Linksklick kann man den Buttons Nummern hinzufügen. Mit Rechtsklick auf einen Button mit Nummer wird diese gelöscht (und vorher die oben gezeigten Kontroll-MsgBox Befehle ausgeführt.
Danke schon einmal,
Dennis
AW: Elemente eines Arrays in anderem Modul ändern
08.11.2019 13:48:00
Nepumuk
Hallo Dennis,
mit Arrays in Klassen musst du anders umgehen. Ich habe es dir mal eingebaut.
https://www.herber.de/bbs/user/133019.xlsm
Gruß
Nepumuk
Anzeige
AW: Elemente eines Arrays in anderem Modul ändern
08.11.2019 15:26:00
Dennis
Hallo Nepumuk,
danke für die schnelle Antwort und die Lösung meines Problems. Das ist ja exakt das, was ich mir gewünscht und vorgestellt habe.
Gibt es eine Möglichkeit, dass du kurz erklärst, wieso meine Methode nicht funktioniert hat, und was genau deine anders macht? Sehe die Unterschiede, verstehe sie aber leider nicht so, wie ich sie gern verstehen würde :)
Liebe Grüße,
Dennis
AW: Elemente eines Arrays in anderem Modul ändern
08.11.2019 15:37:05
Nepumuk
Hallo Dennis,
du musstest das "Array" als Variant deklariert weil du kein öffentliches Array in einer Klasse (in dem Fall das UserForm) anlegen kannst. In deinem Klassenmodul kommt beim schreiben aber nur der Variant an, darum kannst du ihn nicht ändern. Ich übergebe eine Eigenschaft (Property) mit einem Wert und einen Index an die Klasse. Über den Index kannst du den einzelnen Wert im Array ändern. Du greifst also nicht direkt auf das Array zu sondern auf die Eigenschaft.
Ich weiß, dass das schwer zu verstehen ist, aber ich habe keine bessere Erklärung.
Gruß
Nepumuk
Anzeige
AW: Elemente eines Arrays in anderem Modul ändern
12.11.2019 13:22:18
Dennis
Hallo Nepumuk,
vielen Dank für die Erklärung. Ist natürlich erst einmal kompliziert, hilft mir aber auf jeden Fall weiter und ich werde es in Zukunft sicher noch öfters brauchen.
Danke und liebe Grüße,
Dennis :)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige