Mich beschäftigt folgendes Problem: Ich möchte nach Eingabe von Uhrzeiten in eine UserForm-Textbox diese in einer "Zeitleiste" suchen lassen und die Fundstelle in eine entsprechende Variable zum Weiterverarbeiten schreiben lassen. Die Zeiten werden nach dem Muster 00:00 eingegeben. Für Uhrzeiten >=10:00 funktioniert das korrekt. Nur bei Uhrzeiten darunter, also mit führender Null bleibt die Find-Variable leer. Das vierstellige DIN-Format der Zeit brauche ich aber später für eine Ausgabe.
Wie kann ich auch die Uhrzeiten mit führender Null verarbeiten?
Für jeden Hinweis bin ich sehr dankbar, da ich noch nicht auf den richtigen Dreh gekommen bin.
Beste Grüße
Volker
Die Spalte mit der "Zeitleiste" hat folgende Formatierung:
.NumberFormat = ("hh:mm")
Die Suche erfolgt mit
Set start = ActiveSheet.Columns(1).Find(What:=Format(TextBox1_Veranstaltungsbeginn.Text, "hh:mm"), After:=WoTag.Cells(1, 1), LookIn:=xlValues)
Und die Textbox-Eingabe wird wie folgt geregelt:
Private Sub TextBox1_Veranstaltungsbeginn_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case Len(TextBox1_Veranstaltungsbeginn)
Case 0
Select Case KeyAscii
Case 49 To 50, 55 To 57
Case Else
KeyAscii = 0
End Select
Case 1
If Left(TextBox1_Veranstaltungsbeginn, 1) = 2 Then
Select Case KeyAscii
Case 48 To 50
Case Else
KeyAscii = 0
End Select
Else
Select Case KeyAscii
Case 48 To 57
Case Else
KeyAscii = 0
End Select
End If
Case 2
Select Case KeyAscii
Case 48 To 53, 58
If KeyAscii 58 Then TextBox1_Veranstaltungsbeginn = _
TextBox1_Veranstaltungsbeginn & ":"
Case Else
KeyAscii = 0
End Select
Case 3
If Right(TextBox1_Veranstaltungsbeginn, 1) = ":" Then
Select Case KeyAscii
Case 48, 49, 51, 52
Case Else
KeyAscii = 0
End Select
End If
Case 4
Select Case KeyAscii
Case 48, 53
Case Else
KeyAscii = 0
End Select
Case Else
KeyAscii = 0
End Select
End Sub