Diese Informationen ändern jetzt natürlich das Verständnis.
Wenn Du die UserForm schliesst, gehen ungespeicherte Informationen verloren.
Somit auch der Enabled-Eigenschaftswert : false.
Je nach Programmlogik, kannst Du das unterschiedlich bewerkstelligen.
a) Eigenschaftswert "irgendwie" merken
b) UserForm nicht schließen, sondern nur ausblenden
zu a)
Auch hier führt das zur Frage, welche Lebenszeit der Eigenschaftswert haben soll.
aa) nur solange die Arbeitsmappe geöffnet ist oder
ab) auch beim nächsten Öffnen der Arbeitsmappe soll der letzte Wert noch bekannt sein
zu aa)
- Erstelle eine Variable in einem allgemeinen Modul vom Datentyp Boolean
- Wenn der Button geklickt wurde, änderst Du den Variablenwert und weist diesen der Enabled-Eigenschaft zu
- Im Initialze-Event() der Userform, was aufgerufen wird sobald die UserForm geladen wird, weist Du der Enabled-Eigenschaft auch den Variablenwert zu
zu ab)
- Recherchiere mal zu "excel customproperties"; merke Dir den Wert dort
- Alternativ in einem versteckten Arbeitsblatt (Stichwort: Worksheet.Visible = xlVeryHidden)
- Alternative II: SaveSetting | GetSetting => ist aber userabhängig und eigentlich nur selten zu empfehlen
zu b)
Anstelle die UserForm zu schließen, einfach mit der Methode .Hide() ausblenden.
Nicht Modal laden und Weiteres müsste berücksichtigt werden.
Problem hierbei wird sein, wenn Mappe geschlossen wird oder die UserForm geschlossen wird, ist wieder alles beim alten => der Button kann geklickt werden. Würde ich auch nur in den seltesten Fällen empfehlen.
|