Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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
Textbox nur bestimmte Formatierung zulassen
27.11.2008 22:17:00
Karsten
Hallo
Ich habe in einer Userform eine Textbox.
Der Inhalt muss in folgender Formation eingegeben werden:
T12345
oder
T12345A
Also, als erstes muss immer ein T eingegeben werden.
Dann eine 5 Stellige Zahl
Nach den 5 Zahlen darf ein Buchstabe stehen, aber keine Zahl.
Wenn dann nach dem T, den 5 Zahlen und den möglichen Buchstaben darf nichts mehr folgen.
Wie mache ich das?
MfG
Karsten J.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox nur bestimmte Formatierung zulassen
27.11.2008 22:47:12
Daniel
Hi
man kann sicherlich die Textbox so steuern, daß man z.B. an der 1. Stelle nur ein T eingeben kann und an der 7. Stelle nur ein Buchstabe, aber das ist komplex.
einfacher ist eine Prüfung, die du an geeigneter Stelle in die Userform einbauen kannst (z.B. beim Drücken des OK-Buttons, je nach dem wie deine Useform aufgebaut ist.
das könnte dann so aussehen:

Dim Check as boolean
Check = false
if Len(Textbox1.Text) = 7 then
if left(Textbox1.Text, 1) = "T" then
if not isnumeric(right(Textbox1.Text,1)) then
if isNumeric(mid(Textbox1.Text, 2, 5)) then
Check = True
end if
end if
end if
end if
If Check = False then
msgbox "das Eingabefeld wurde nicht korrekt befüllt"
else
' --- hier der weitere Makrocode
end if


Gruß, daniel

Anzeige
AW: Textbox nur bestimmte Formatierung zulassen
27.11.2008 22:57:06
Karsten
Hi
Danke für den Lösungsansatz.
Soweit ich es sehe, ist er perfekt für mich.
Dankeschön.
MfG
Karsten J.
AW: Textbox nur bestimmte Formatierung zulassen
27.11.2008 23:30:00
Roland
Hallo Karsten, hallo Daniel,
wenn die Eingabeprüfung wirklich zwingend schon bei der Eingabe erfolgen muss (sollte man sich genau überlegen, da kann man die Nutzer unheimlich ärgern), müsste es das tun:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Select Case TextBox1.TextLength
Case 7
If Left$(TextBox1.Text, 1) = "T" And _
IsNumeric(Mid(TextBox1.Text, 2, 5)) And _
Not IsNumeric(Right$(TextBox1.Text, 1)) Then Cancel = False Else Cancel = True
Case Else: Cancel = True
End Select
End Sub



Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case TextBox1.TextLength
Case 0
If Not KeyAscii = 84 Then KeyAscii = 0
Case 1 To 5
If (KeyAscii  57) Then KeyAscii = 0
Case 6
If (KeyAscii > 47 And KeyAscii 


Der Haken dabei ist, dass der Nutzer die Textbox nur noch nach ordnungsgemäßer und vollständiger Eingabe verlassen kann. Bei dem Ansatz ist es egal, ob der letzte Buchstabe groß oder klein ist.
Gruß
Roland Hochhäuser

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige