Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wenn Kreterium nicht erfüllt zurück zur Eingabe

Wenn Kreterium nicht erfüllt zurück zur Eingabe
07.01.2005 12:23:08
Sascha
Hallo Excel Freunde,
Ich habe eine Userform mit Textbox und Frage die Postleitzahl ab. beim verlassen der Textbox wird geschaut, ob dies wirklich eine 5-stellige Zahl zwischen 0...99999 ist. Das funktioniert soweit so gut, doch wenn das nicht der Fall ist, soll der Inhalt der Textbox geleert werden und zur erneuten Eingabe in die Textbox der Curser gesetzt werden. Leider kommt bei mir bei Nichterfüllung der Eingabe Postleitzahl zwei mal hintereinander die Fehlermeldung und das nervt irgendwie, wie kann man das besser machen?
Ich hab's so gemacht aber wie gesagt:
If TextBox5.Value >=0 And TextBox5.value [Kostenvoranschlag!A7] = TextBox5.Text
Else
TextBox5.Value = ""
MsgBox ("Hier bitte nur die PLZ eintragen!"), vbcritical + vbokonly, "Fehler"
End If
Gruß
Sascha

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Kreterium nicht erfüllt zurück zur Eingab
Klaus
Hallo Sascha,
deine doppelte Fehlermeldung liegt wahrscheinlich daran, weil du das "Change"-Ereignis benutzt.
Dieses Change-Ereignis wird bei dir aber zweimal ausgelöst, einmal durch die Eingabe und Bestätigung deiner Eingabe und dann dadurch, dass du die Textbox bei einem Fehler mit ="" überschreibst !
Benutze stattdessen das Exit-Ergeignis, hier mal meinen kompletten Code dazu. Dieser prüft, ob sich die Eingabe um eine Zahl handelt und ob diese Zahl fünfstellig ist. Bei deiner Lösung sind auch kürzere Eingaben unter fünf möglich.

Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox5) And Len(TextBox5) = 5 Then
[Kostenvoranschlag!A7] = TextBox5.Text
Else
TextBox5.Value = ""
MsgBox ("Hier bitte nur die PLZ eintragen!"), vbCritical + vbOKOnly, "Fehler"
End If
End Sub

Gruß Klaus
Anzeige
AW: Wenn Kreterium nicht erfüllt zurück zur Eingab
07.01.2005 18:28:00
Sascha
Danke Klaus die Lösung gefällt mir zwar besser, aber ich möchte ja eigentlich das er gleich beim ändern in die Zelle schreibt. Aber ich weiss auch schon wie !
Danke Sacha

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige