online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Kauz vom 22.07.2020, 22:14 Options

Lösung

Userform: Textfeld soll Inhalt behalten

Hallo Ihr guten Geister...

Ich hab eine Userform mit 3 Schiebereglern und 3 Textfeldern.

Die eingestellten Werte der Schieberegler (0-255) werden jeweils im
dazugehöhrigem Textfeld angezeigt.

Nun mein Problem:
Wenn ich die Userform über einen Button mit dem Befehl
Userfom1.hide schließe, und dann wieder öffne stehen die zuvor eingestellten Werte noch in den Textfeldern.

Wenn die Userform allerdings über den Schließ-Button oben rechts geschlossen wird, sind sie beim erneuten Öffen weg.

Wie kann ich erreichen, das die eingestellten Werte auf jeden Fall
erhalten bleiben?

Ach, nur so nebenbei.....
es sollen damit die RGB-Werte für eine Hintergrundfarbe eingestellt
werden.... und auch bitte so bleiben.

Grüße an alle Helfer..
Andreas


Antwort schreiben

Antwort 1 von coros vom 23.07.2020, 05:38 OptionsLösung

Lösung
Hallo Andreas,

mit dem Unload-Befehl wird die UserForm geschlossen und verliert dabei auch jegliche Werte. Bei .Hide ist das nicht so, da diese nur in den Hintergrund wandert, aber dennoch offen ist. Damit die Werte nach dem Unload-Befehl nciht verloren gehen, mustt Du diese vorher sichern. Entweder Du legst DIr eine Hilfstabelle an und überträgst dorthin die Daten vor dem Schließen oder Du legst die Daten z.B. mit den entsprechenden Befehlen in einem eigenen Registryschlüssel oder in einer Textdatei ab. Diese gesicherten Daten ließt Du dann über das UserForm_Initialize()-Ereignis wieder in die entsprechenden Felder ein.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von fedjo vom 23.07.2020, 08:45 Options

Hallo Andreas,
Code in die UserForm einfügen, danach kann sie nicht mehr mit den Schließ-Button geschlossen werden.

Button mit UserForm1. Hide erstellen.

Zitat:
Wenn ich die Userform über einen Button mit dem Befehl
Userfom1.hide schließe, und dann wieder öffne stehen die zuvor eingestellten Werte noch in den Textfeldern.


Gruß
fedjo

Antwort 3 von fedjo vom 23.07.2020, 08:47 Options

Hallo Andreas,
habe doch tatsächlich den Code vergessen.

Gruß
fedjo

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Damit UserForm über X nicht geschloßen werden kann
If CloseMode = 0 Then
MsgBox "Bitte schließen Sie das Fenster mit der Schaltfläche 'Beenden'.", vbCritical
Cancel = 1
End If
End Sub

Antwort 4 von Kauz vom 23.07.2020, 10:56 Options

Guten Morgen...
@fedjo
An eine Möglichkeit den Schließbutton abzufangen hab ich auch gedacht... danke für den Code.

@ Oliver
Wenn ich Deine Antwort richtig interpretiere, so ist es nicht möglich
Inhalte dauerhaft in der Value - Text - Eigenschaft eines Textfeldes
per VBA zu schreiben.
Es sei denn der Wert wird im Entwicklermodus dort eingetragen.

Die Inhalte sollen natürlich auch nach dem Schließen und Öffnen der Exceldatei noch vorhanden sein.

Fazit:
Ich hab also nur die Möglichkeit diese Werte in Zellen ab zu legen,
um diese beim Starten von dort wieder einzulesen... oder
ich nehme sie mit in eine Parameterdatei, die sowieso schon exestiert.

Danke euch beiden... so brauch wenigstens nicht auf meinem
Holzweg weitersuchen...

Gruß
Andreas

Ähnliche Themen

Wie bleibt ein Excel Textfeld ein Excel Textfeld
hardie  20.01.2007 - 160 Hits - 4 Antworten

UserForm Listbox
bage  20.03.2007 - 173 Hits - 9 Antworten

Userform / Textfeld / Setfocus
Kauz  05.05.2008 - 13 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 16:59:01 2026