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

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


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

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

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

Anzeige
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 :-(

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.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige