Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1440to1444
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
Bei falscher Eingabe in TextBox springen
19.08.2015 12:38:36
Juli
Hallo liebe Excels,
Ich hab einige TextBoxen, bei dem nur das Datumsformat erlaubt ist, wie realisiere ich das und vermeide das man bei der Eingabe Fehler macht?
Bzw wie lautet der Code bei einem Fehlerfall, sodass man in die entsprechende TextBox spring, bei dem der Fehler ist?
Viele Grüße
Juli

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

Betreff
Datum
Anwender
Anzeige
AW: Bei falscher Eingabe in TextBox springen
19.08.2015 13:09:49
Daniel
Hi
am besten fragst du das schon bei der Eingabe ab, dh im Exit-Event der Textbox (dh wenn der Anwender die Textbox verlassen und auf ein anderes Steuerelemente wechseln will)
hier zu folgender Code im Exit-Event der Textbox:
If not isdate(Textbox1.Text) then
msgbox "Bitte Datum eingeben"
Cancel = True
End if
das Cancel = True bewirkt, dass der Focus auf dieser Textbox bleibt.
Als Datum wir jeder Text anerkannt, welcher sich mit CDate in ein Datum wandeln lässt.
Gruß Daniel

AW: Bei falscher Eingabe in TextBox springen
19.08.2015 14:24:12
Juli
Hallo Daniel,
danke für die schnelle Antwort.
Leider verlässt er mir die UserForm bei falscher Eingabe.
Mein gesamter Code:

If TextBox1.Value  "" Then
If IsDate(TextBox1.Value) Then
dDatum = CDate(TextBox1.Value)
KW = 4 + dDatum - Weekday(dDatum, 2)
DIN_KW = (KW - DateSerial(Year(KW), 1, -6)) \ 7
Markiere_KW DIN_KW, Year(dDatum), "1", 4, 3
ElseIf Not IsDate(TextBox1.Text) Then
MsgBox "Bitte Datum eingeben"
Cancel = True
End If
End If

Anzeige
AW: Bei falscher Eingabe in TextBox springen
19.08.2015 14:39:48
Daniel
Hi
IsDate kann nur WAHR oder FALSCH sein.
daher den If-Block so aufbauen, denn für das Else wird keine weiter Prüfung benötigt:
If IsDate(TextBox1.Value) Then
Code wenn Datum
Else
Code wenn kein Datum
End If
steht der Code auch wirklich im Exit-Event der Textbox?
Gruß Daniel

AW: Bei falscher Eingabe in TextBox springen
19.08.2015 14:41:50
JoWE
Hi,
vllt. so:
Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 46
Case Else:
KeyAscii = 0
MsgBox "Es sind nur Ziffern erlaubt!", _
vbInformation, "Hinweis"
End Select
End Sub

Gruß
Jochen

Anzeige
AW: Bei falscher Eingabe in TextBox springen
20.08.2015 13:02:30
Juli
Vielen Dank Leute,
Ich hab meine Fehler gefunden...Das Problem ist dass ich erst überprüfe ob er mir die richtige Eingabe gemacht hat, wenn ich auf Button "Speichern" gehe. Da der Code unter "Private Sub Speichern_Click()" steht. Kann ich das iwie in eine Funktion stecken, dass ich alle Textboxen von TextBox1 bis TextBox20 kontrolliert ob das richtige eingegeben wurde?
LG

Hilfe zur Selbsthilfe
21.08.2015 16:03:34
Michael
Hi Juli,
das mit dem Textbox_KeyPress funktioniert ja prinzipiell wunderbar, wobei im Forum ausgefuchste Varianten vorhanden sind (wenn man sie denn findet).
Das mit "mehreren Textboxen gleichzeitig" geht nicht so ohne Weiteres, laut
http://www.office-loesung.de/ftopic547777_0_0_asc.php
nicht ohne "Klassen-Programmierung", aber Rudi hat hier
https://www.herber.de/forum/archiv/1248to1252/1249600_Keypress_Ereignis.html
einen recht handlichen Vorschlag gemacht.
Hier noch ein paar Varianten: http://schmidt-net.de/files/30001.htm
Und hier passend für Datum: http://www.ms-office-forum.net/forum/showthread.php?t=252028
Schöne Grüße,
Michael
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige