ich möchte gerne in einer UserForm festlegen das in den TextBoxen Bsp. 1,2,5-9 nur hh:mm eingegeben wird, hier zu habe ich ein passendes Makro gefunden. Nun möchte ich allerdings nicht für jede TextBox ein extra Code schreiben(bzw. kopieren und abändern). Am liebsten wäre mir eine Möglichkeit, indem ich einen Teil des Codes auslagere. Mit Klassenmodulen kenn ich mich leider nicht wirklich aus, deshalb kommt dies eher nicht in Frage. Nur finde ich hier leider keine funktionierende Lösung.
Private Sub TB3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 'Zahlen von 0 bis 9 OK
Case 42 To 47 '* + , - . / umwandeln in :
KeyAscii = 58
Case 58 ': = OK
Case Else 'Alle anderen löschen
KeyAscii = 0
End Select
'Format erzwingen
Select Case Len(TB3.Text)
Case 0
If Not Chr(KeyAscii) Like "#" Or _
Chr(KeyAscii) > 2 Then KeyAscii = 0
Case 1
If Not Chr(KeyAscii) Like "#" Then
KeyAscii = 0
Else
If TB3.Text = 2 And _
Chr(KeyAscii) > 3 Then KeyAscii = 0
End If
Case 2
If Not Chr(KeyAscii) = ":" Then KeyAscii = 0
Case 3
If Not Chr(KeyAscii) Like "#" Or _
Chr(KeyAscii) > 5 Then KeyAscii = 0
Case 4
If Not Chr(KeyAscii) Like "#" Then KeyAscii = 0
Case Else
KeyAscii = 0
End Select
End Sub
Wäre einer von euch so freundlich und könnte mir helfen.
Vielen Dank & Grüße,
Nicolai