Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform Textfeld best. Werte zulassen

Forumthread: Userform Textfeld best. Werte zulassen

Userform Textfeld best. Werte zulassen
28.03.2021 00:25:42
Burkhard
Hallo Spezialisten,
ich habe (mein erstes) Userform angelegt.
Nun habe ich dort Textfelder, in denen ausschließlich die Werte 00 oder 15 oder 30 oder 45 eingegeben werden dürfen.
Soviel ich nun schon Google und auch dieses Forum mit suchen traktiert habe,
so richtig passend habe ich nichts gefunden.
Am nächsten bin ich mit dem unten stehendem Code der Lösung gekommen.
Mein Wunsch ist allerdings folgender:
Nach der Eingabe in das Textfeld eine Prüfung auf oben genannte Werte, wenn das Feld mit Tab, Enter oder Maus verlassen wird.
Bei Fehler eine Msg Box mit dem Hinweis auf die falsche EIngabe und Löschen der falschen Eingabe.
Eine Lösung für diese Vorgehensweise wäre mir am liebsten.
hier müsste sich das Eingabefenster öffnen, sobald ich per Tab, Enter oder Maus in das Feld springe.
danach, soll natürlich der dann eingegebene Wert auch noch in das Textfeld übernommen werden, nachdem die Eingabe mit OK bestätigt wurde.
Danke schon mal vorab.
Private Sub StartMinute_Change()
Dim d As Double
Do
d = InputBox("Minuten Eingeben")
If d = "15" Or d = "30" Or d = "45" Or d = "00" Then Exit Do
MsgBox "Die Eingabe darf nur volle 1/4 Stunden betreffen.", 48, "Hinweis"
Loop
'bis hier klappt es ganz gut
textboxStartMinute = d ' hier tut es nicht was ich möchte
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Userform Textfeld best. Werte zulassen
28.03.2021 01:04:12
MatthiasG
Hallo Burkard,
ich würde die Exit-Prozedur der Textbox verwenden:

Private Sub StartMinute_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Select Case StartMinute.Value
Case "0", "00", "15", "30", "45"
If StartMinute.Value = "0" Then StartMinute.Value = "00" ' eine Null wird in 2  _
umgewandelt
'passt so
Case Else
Cancel = True ' Feld darf nicht verlassen werden
MsgBox "Falscher Wert"
End Select
End Sub

Gruß Matthias

Anzeige
AW: Userform Textfeld best. Werte zulassen
28.03.2021 01:17:13
Burkhard
Hallo Matthias,
danke für deinen Vorschlag mitten in der Nacht ;-)
aber... leider klappt es nur mit der Null.
Sobald ich zum Beispiel 15 eingeben möchte,
kommt gleich nach der 1 schon die Meldung falscher Wert.
Es müsste jetzt noch so sein, dass die Prüfung erst erfolgt, wenn ich das Textfeld mit Tab, Enter oder Maus verlassen will.

Anzeige
AW: Userform Textfeld best. Werte zulassen
28.03.2021 01:25:10
MatthiasG
Hallo Burkard,
das klingt so, als hättest du den Namen der Prozedur nicht ersetzt.
Private Sub StartMinute_Change() wird bei jeder Änderung der Textbox ausgeführt (also nach jedem Tastendruck)
Private Sub StartMinute_Exit(ByVal Cancel As MSForms.ReturnBoolean) wird nur bei Verlassen der Textbox ausgeführt.
Die Argumente (ByVal...) muss du nicht extra eingeben, wenn du dir im Codefenster der UserForm ganz oben die Prozedur in den Auswahlfenstern "zusammenklickst" (links der Name des Elements, rechts das Ereignis).
LG Matthias

Anzeige
AW: Userform Textfeld best. Werte zulassen
28.03.2021 01:30:23
Burkhard
Hallo Matthias,
natürlich hast du Recht!
Ich bin mit den einzelnen Bedeutungen bei VBA noch auf Kriegsfuß.
Nachdem ich den Namen der Prozedur auch angepasst habe funktioniert es wunderbar.
Ich danke dir vielmals.
LG Burkhard

AW: Userform Textfeld best. Werte zulassen
28.03.2021 01:35:41
MatthiasG
bitte gerne!
Und schau beim Erstellen des nächsten Beitrags nochmal auf deinen "Level". War mir bei der Formulierung deiner Frage schon klar, dass es nicht "VBA gut" sein kann; eine richtige Angabe hilft den anderen bei der Formulierung der Antwort.
Gute Nacht! Ist ja gleich 3 Uhr :-(

Anzeige
AW: Userform Textfeld best. Werte zulassen
28.03.2021 01:37:19
Burkhard
OK, mache ich. Manchmal ist die Überschätzung der eigenen Fähigkeiten
das schlimmste Übel ;-)
Gute Nacht.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige