Hallo Erich,
geht, aber nur mit VBA-Recorder wirst Du es nicht hinbekommen. Ich sehe eigentlich keinen anderen Weg, als VBA zu bemühen. 2 Möglichkeiten sind denkbar:
1.) Nach einer Eingabe in die TextBox prüfst Du, ob die Eingabe "verbotene" Zeichen enthält, wenn ja über MsgBox eine Fehlermeldung ausgeben, TextBox löschen und neue Eingabe. Das ist noch relativ einfach. Aber ich befürchte, das ist nicht so ganz das was Du willst. Deutlich komfortabler für den Nutzer, aber auch deutlich aufwendiger zu programmieren ist
2.) mit der OnKey-Methode des Application-Objects jeden Tastendruck abzufangen und nur die "erlaubten" zeichen an die TextBox weiterzuleiten. Zum aktivieren dieser Methode empfiehlt es sich, eine Auto_Start Routine zu benutzen, die nach jedem Starten der Anwendung die Umleitung setzt.
Tja, wahrscheinlich hast Du eine einfachere Antwort erwartet, mir fällt aber nichts anderes ein.
Gruß Frank
Anzeige
AW: Formatierung
02.06.2004 16:07:45
Erich
Hallo Frank
Die erste möglichkeit würde mir schon reichen. Denn es gibt Kollegen die haben in manchen Dingen Probleme. Könntest Du mir den Code übermitteln? Gruß Erich
AW: Formatierung brauche Info
Frank
Hallo Erich,
erscheint Deine Textbox auf einer Userform oder ist sie direkt in einer Tabelle plaziert?
Gruß Frank
AW: Formatierung brauche Info
02.06.2004 16:20:51
Erich
Hallo Frank
Entschuldige bitte Die Textbox ist auf einer Userform Gruß Erich
AW: Kann ich aber erst heute abend machen...
Frank
AW: Kann ich aber erst heute abend machen...
02.06.2004 16:30:54
Erich
Hallo Frank Kein Problem damit. Melde mich dann morgen Nachmittag. Gruß Erich
AW: Formatierung
02.06.2004 23:01:36
Frank
Hallo Erich, also manchmal sehe ich den Wald vor lauter Bäumen nicht. Neben den von mir genannten 2 Möglichkeiten gibt es noch eine viel einfachere: nämlich das "Change"-Ereignis der TextBox zu nutzen. Wieso bin ich Blödheini nicht gleich darauf gekommen!? In der Datei findest Du ein Beispiel, das nur die Eingabe von Ziffern, "." und "-" zuläßt. Alle anderen Tasten werden nicht akzeptiert.
Nun noch mal zu dem Problem: Du hast geschrieben, dass der Doppelpunkt erlaubt sein soll bei der Eingabe. Tippfehler? Ich vermute Du meintest den Punkt.
Weiterhin vermute ich, dass gültige Zahlen eingegeben werden sollen. Das heisst: das Minuszeichen kann nur am Anfang der Eingabe akzeptiert werden und der Punkt (als Dezimalpunkt) darf in einer Zahl natürlich nur einmal vorkommen (12-34 oder 12.-55.288 wären ja keine gültigen Zahlen). Ok, das hast Du so nicht beschrieben und es ist halt eine Interpretation von mir, die stimmen kann oder auch nicht. Jedenfalls habe ich die Routine so geschrieben, dass "-" nur am Anfang stehen kann und "." nur einmal vorkommen darf. Wenn ich über das Ziel hinausgeschossen bin, melde Dich einfach noch mal.
Bis dahin, Gruß Frank https://www.herber.de/bbs/user/7059.xls
Anzeige
AW: Formatierung
03.06.2004 07:49:12
Erich
Hallo Frank Erstmal vielen Dank für Deine Antwort. Genau so wollte ich es haben. Nur den Doppelpunkt brauche ich auch, es sollen nur Uhrzeiten eingegeben werden z. B. 13:24. Wo muss ich den Code ändern. Gruß Erich
AW: Formatierung
03.06.2004 09:31:56
Frank
Hallo Erich, unter Formulare / UserForm1 findest Du die Routine "Private Sub TextBox1_Change()". Hier in der 7. Zeile die Anweiseung "Case "." ". Hier den Punkt durch den Doppelpunkt ersetzen. Aber wenn Du Uhrzeiten eingeben willst: wozu dann das Minuszeichen?
Gruß Frank
AW: Formatierung
03.06.2004 10:25:17
Erich
Hallo Frank SUPER so habe ich es mir gewünscht. Wegen dem Minuszeichen oder Komma hatte ich folgende Idee man kann die Zeiten über den Nummernblock eingeben und das klappt jetzt perfekt. Die Umwandlung von Komma in Doppelpunkt habe ich von Matthias bekommen. Nochmals vielen Dank Gruß Erich