Textbox-Ereignisbehandlung
25.11.2004 08:08:46
Frank-Peter
Ich habe folgendes Problem:
In einem Userform habe ich mehrere Textboxen, die ein Währungsformat haben sollen und demzufolge nur Zahlen, Komma und Punkt zulassen (EUR wird automatisch hinzugefügt). Wie ich das für jede Textbox einzeln mache weiß ich. Ich nehme dafür die Ereignisse KeyPress (für die Prüfung auf Zahlen, Komma und Punkt) und Exit (um dann das Format "#,###,##0.00" & "EUR" herzustellen).
Da ich nun aber mehrere Textboxen habe, die das tun sollen, müßte ich also für jede dieser Boxen 2 Ereignisbehandlungs-Routinen im Userform schreiben, die dann eigentlich das selbe machen. Um dem zu entgehen, habe ich für die Ereignisbehandlung ein Klassenmodul geschrieben:
Public WithEvents txtField As MSForms.TextBox
Private Sub txtField_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44
Case 46: KeyAscii = 44
Case Else: KeyAscii = 0
End Select
End Sub
Wenn ich das aber so schreibe, dann kann ich nur auf KeyPress reagieren. Das Ereignis Exit wird mir nicht angeboten. Wie kann ich es also machen, das ich KeyPress und Exit in einer Klasse habe, denn im Userform geht es ja ?
Vielen Dank schonmal im Vorraus