Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1512to1516
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

2-stellige Stunden in Textbox werden nicht erkannt

2-stellige Stunden in Textbox werden nicht erkannt
16.09.2016 19:29:00
Volker
Liebe Forengemeinde!
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2-stellige Stunden in Textbox werden nicht erkannt
16.09.2016 19:31:20
Hajo_Zi
Du suchst nach Text. In der Spalte steht aber eine Zahl. CDate()

AW: 2-stellige Stunden in Textbox werden nicht erkannt
16.09.2016 22:27:40
Volker
Hallo Hajo!
Danke für die Reaktion. Könntest Du etwas näher ausführen, was genau ich verändern sollte. Und warum funktioniert die Suche eigentlich mit Uhrzeiten ohne vorangestellte 0, also 10,11,12... ?
Gruß
Volker
Ein in einer Zelle mit hh:mm formatierter ...
17.09.2016 01:22:55
Luc:-?
…Wert ist eine echte DezimalZahl, Volker,
deren Dezimalen eine Uhrzeit und deren Ganzzahl ggf ein Datum darstellen. Das sollte allgemein bekannt sein und auch, dass sich nur Zahlen derart formatieren lassen.
Eine TextBox enthält aber - wie schon ihr Name sagt - stets Text. Jede TextZiffer ist stets größer als die ihr entsprechende Ziffer einer Zahl, sogar größer als eine 9.
In der .Find-Methode deines Pgms verwendest du über­flüssiger­weise die vbFkt Format. Diese fktioniert ähnlich wie die Xl-Fkt TEXT (aber nicht ganz genauso!). Auf jeden Fall liefert sie einen Text. Da der Inhalt der TextBox aber bereits Text ist, wäre das über­flüs­sig. Stattdessen müsstest du - wie von Hajo vorgeschlagen - die vbFkt CDate nutzen. Nur dann hast du eine Chance, eine über­ein­stim­mende Uhrzeit auch zu finden.
Die Frage nach der nicht vorangestellten 0 kannst du dir jetzt sicher selbst beantworten… ;-]
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: 2-stellige Stunden in Textbox werden nicht erkannt
17.09.2016 08:42:16
Hajo_Zi
Hallo Volker,
ersetze Format() durch Cdate() oder Cdbl()
Gruß Hajo
AW: 2-stellige Stunden in Textbox werden nicht erkannt
17.09.2016 08:56:48
Hajo_Zi
Hallo Volker,
es steht 8:23 in der Zelle und nicht 08:23
Die Anzeige ist anders als der Wert.
Gruß Hajo
AW: 2-stellige Stunden in Textbox werden nicht erkannt
18.09.2016 09:23:34
Volker
Guten Morgen allerseits!
Herzlichen Dank für die Kommentare auf meine Frage. Das Problem ist mir klar geworden und ich konnte es lösen.
Gruß
Volker
Danke für Rückmeldung oT
18.09.2016 09:24:57
Hajo_Zi

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige