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

Gültigkeitsprüfung einer Textbox auf der Userform

Gültigkeitsprüfung einer Textbox auf der Userform
Lisa
Guten (Mon)Tag zusammen
Wie bekomme ich eine Gültigkeitsprüfung in meiner TextBox1 eingestellt?
Geht das nur über VBA?
Ich wollte einen Eingabe nur zwischen 300000 - 399999 zulassen. In den eigenschaften finde ich nichts und über einen ComboBox wollte ich nicht in einer extra Tabelle Daten pflegen.
Kann mir hierbei jemand helfen?
In der Recherche habe ich folgendes Makro gefunden, leider hilft es mir hier wenig aber vielleicht hilft es Euch zum umstricken?
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1.Value) Or TextBox1.Value > 26 Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl bis max 26 eingeben"
End If
End Sub
danke für die Mühe Lisa

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Gültigkeitsprüfung einer Textbox auf der Userform
16.05.2011 12:46:55
oberschlumpf
Hi Lisa
Versuch mal

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1.Value) Or TextBox1.Value  399999 Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl bis max 26 eingeben"
End If
End Sub

Hilfts?
Ciao
Thorsten
AW: genau das, was ich gesucht habe! DANKE OT
16.05.2011 13:08:16
Lisa
AW: evtl. eine Änderung!?
17.05.2011 12:10:25
lisa
Hallo zusammen evtl. auch noch einmal Thorsten
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1.Value) Or TextBox1.Value  399999 Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl bis max 26 eingeben"
End If
End Sub

Ich habe noch ein kleines Problem zu dem Makro von Thorsten, es funktioniert tadellos!
Ich bräuchte doch aber eine Änderung, als di da wäre, die Felder dürfen leer bleiben oder aber im genannten Gültigkeitsbereich eigegeben werden. was muss ich hierzu ändern?
Könnte ich bitte eure Hilfe hierzu werwarten?
Danke Gruß lisa
Anzeige
AW: evtl. eine Änderung!?
17.05.2011 12:48:44
oberschlumpf
Hi Lisa
Meinst du so?
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value  "" Then
If Not IsNumeric(TextBox1.Value) Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl zwischen 300000 und 399999 eingeben"
Else
If TextBox1.Value  399999 Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl zwischen 300000 und 399999 eingeben"
End If
End If
End If
End Sub

Ciao
Thorsten
AW: evtl. eine Änderung!?
17.05.2011 13:49:51
lisa
Hallo Thorsten, das sieht schon sehr gut aus, lediglich muss nach einer Falscheingabe der Focus wieder in die Textbox gesetzt werden in der die Falscheingabe stattgefunden hat
Gebe ich in einer textbox nichts ein, dann darf es keine Meldung geben und kann auch weiter in eine nächste Textbox!
Habe ich also eine Falscheingabe gemacht, kommt die MsgBox löscht die eingabe und setzt den Focus neu, gebe ich gar nichts ein dann kann ich die Textbox so ohne Meldung verlassen!
Hört sich vielleicht ohne Sinn und Verstand an, aber so bräuchte ich es!
Ich weiß nicht ob es umzusetzen ist aber vielleicht hast du eine Idee!
Wenn ich das Cancel = True so wie unten setze, dann passiert genau das was ich will, bis auf das bei richtiger Eingabe das Verlassen der Textbox nicht möglich ist. War nur ein Versuch
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value  "" Then
If Not IsNumeric(TextBox1.Value) Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl zwischen 300000 und 399999 eingeben"
Else
If TextBox1.Value  399999 Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl zwischen 300000 und 399999 eingeben"
End If
'Cancel =  True
End If
End If
End Sub

Gruß lisa
Anzeige
AW: evtl. eine Änderung!? noch offen!
17.05.2011 14:43:19
lisa
Hallo Thorsten, das sieht schon sehr gut aus, lediglich muss nach einer Falscheingabe der Focus wieder in die Textbox gesetzt werden in der die Falscheingabe stattgefunden hat
Gebe ich in einer textbox nichts ein, dann darf es keine Meldung geben und kann auch weiter in eine nächste Textbox!
Habe ich also eine Falscheingabe gemacht, kommt die MsgBox löscht die eingabe und setzt den Focus neu, gebe ich gar nichts ein dann kann ich die Textbox so ohne Meldung verlassen!
Hört sich vielleicht ohne Sinn und Verstand an, aber so bräuchte ich es!
Ich weiß nicht ob es umzusetzen ist aber vielleicht hast du eine Idee!
Wenn ich das Cancel = True so wie unten setze, dann passiert genau das was ich will, bis auf das bei richtiger Eingabe das Verlassen der Textbox nicht möglich ist. War nur ein Versuch
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value  "" Then
If Not IsNumeric(TextBox1.Value) Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl zwischen 300000 und 399999 eingeben"
Else
If TextBox1.Value  399999 Then
TextBox1.Value = ""
MsgBox "Bitte eine Zahl zwischen 300000 und 399999 eingeben"
End If
'Cancel =  True
End If
End If
End Sub

Gruß lisa
Anzeige
AW: evtl. eine Änderung!? noch offen!
17.05.2011 15:08:38
Oberschlumpf
Hi Lisa
Schreib unter beide Zeilen mit MsgBox mal diese Zeile:
TextBox1.SetFocus

Hilfts?
Ciao
Thorsten

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige