Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textbox soll definierte Eingabemöglich. beinhalten

Forumthread: Textbox soll definierte Eingabemöglich. beinhalten

Textbox soll definierte Eingabemöglich. beinhalten
02.07.2019 10:31:54
Sören
Hallo Leute,
ich möchte gerne, das meine TextBox1 nach 1 oder 3 zahlen ein Bindestrich (-) enthält und vor- und nacher 1-3 zahlen eingetragen werden müssen. Also an 4ter stelle muss spätestens ein Bindestrich kommen. Das nur zahlen und ein Bindestriche verwendet werden kann, habe ich so gelöst.
Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Nur Zahlen dürfen und Bindestrich dürfen eingetragen werden
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc("-")
If InStr(tb1, ",")  0 Then
KeyAscii = 0
Else
End If
Case Else
KeyAscii = 0
End Select
End Sub
Also es dürfen max. 7 Zeichen eingetragen werden. das mit dem 7 zeichen konnte ich mit MaxLength lösen. aber bei den rest beiße ich mir gerade die Zähne aus.
Beispiel:
1-2
10-20
100-200
1-100
etc.
Ist dies Möglich bzw. kann man einen Code schreiben der sagt, dass nur ein Bindestrich nach der max 4 stelle kommen muss? Wenn ja, könnte mir da einer mit einem Code helfen?
Gruß Sören
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Textbox soll definierte Eingabemöglich. beinhalten
02.07.2019 11:07:52
Daniel
Hi
im Prinzip so, dh wenn du genau drei Ziffern eingegeben hast, kannst du keine weitere Ziffer mehr eingeben, sondern nur noch den Bindestrich:
Case Asc("0") To Asc("9")
if Len(Textbox1.text) = 3 then KeyAscii = 0
du könntest nach Eingabe der 3. Ziffer automatisch einen Bindestrich hinzufügen:
Case Asc("0") To Asc("9")
if Len(Textbox1.text) = 3 And Instr(Textbox1.text, "-") = 0 then
tb1.text = tb1.Text & "-"
end if
die MaxLenth hilft dir hier ja nicht weiter, denn die würde ja zulassen, dass du sowas eingeben kannst:
"1-23456" und somit nach dem Bindestrich mehr als drei Ziffern hättest.
anstelle von MaxLength könntest folgendes einbauen um nach dem "-" maximal 3 Ziffern zuzulassen
Case Asc("0") To Asc("9")
if Textbox1.Text like "*-###" then KeyAscii = 0
Gruß Daniel
Anzeige
AW: Textbox soll definierte Eingabemöglich. beinhalten
02.07.2019 12:39:44
Sören
Hallo Daniel, danke für die Antwort. Leider verstehe ich nicht ganz wie ich die teile jetzt zusammen setzen soll. Könntest du mir da nochmal helfen?
Gruß Sören
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige