Prüfen ob in einer Zelle eine Uhrzeit steht VBA

Moin,
Ich suche gerade vergebens eine Möglichkeit zu prüfen ob in einer Zelle eine gültige Uhrzeit steht.

Danke, Mfg jonny

Ich suche gerade vergebens eine Möglichkeit zu prüfen ob in
einer Zelle eine gültige Uhrzeit steht.

Hallo jonny,

was „steht“ denn in der Zelle, ich meine nicht das was „angezeigt“ wird.
Wie ist die Zelle formatiert?

Gruß
Reinhard

Hallo,

Ergebnis = IsDate("21:30:00")

gibt in Ergebnis ein ‚True‘ zurück.
Eine Uhrzeit wird als Teil eines Datums erkannt.

Gruß Rainer

moin,
Zeile ist als Zeit formatiert allerdings werden die Zeilen durch menschenhand gefüllt und nicht selten wird statt 20:00 :2000 oder :00 geschrieben.

Danke, mfg jonny

Zeile ist als Zeit formatiert allerdings werden die Zeilen
durch menschenhand gefüllt und nicht selten wird statt 20:00

2000 oder :00 geschrieben.

Hallo jonny,

hier wird Spalte A „überwacht“, Code gehört in Modul „Tabelle1“

Option Explicit
'
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Eing As Variant
If Target.Column \> 1 Then Exit Sub
Eing = ExecuteExcel4Macro("Get.Cell(5,Tabelle1!R" & Target.Row & "C1)")
If Eing \>= 0 And Eing 

Gruß
Reinhard

ahoi

If IsDate(Workbooks(Stamm).Worksheets(„Auswertung OK“).Cells(ZählerOK, 3).Value) = True Then MsgBox „JA“

In der Zelle steht 20:39:00

Formatiert
Format(Workbooks(Stamm).Worksheets(Tabellenname).Cells(Zähler, 3).Value, „hh:mm:ss“)

Aber es ist einfach nicht True ?
Warum?

Hi Joe,

If IsDate(Workbooks(Stamm).Worksheets(„Auswertung
OK“).Cells(ZählerOK, 3).Value) = True Then MsgBox „JA“

In der Zelle steht 20:39:00

Formatiert
Format(Workbooks(Stamm).Worksheets(Tabellenname).Cells(Zähler,
3).Value, „hh:mm:ss“)

Aber es ist einfach nicht True ?
Warum?

das kann ich von hier aus nicht sagen, Was mit Isdate() geprüft wird, ist offensichtlich nicht „20:39:00“, sonst käme ein ‚True‘ zurück. Für mehr müsste ich den Code mit dem Debugger prüfen können.

Gruß Rainer

If IsDate(Workbooks(Stamm).Worksheets(„Auswertung
OK“).Cells(ZählerOK, 3).Value) = True Then MsgBox „JA“
In der Zelle steht 20:39:00

Formatiert
Format(Workbooks(Stamm).Worksheets(Tabellenname).Cells(Zähler,
3).Value, „hh:mm:ss“)

Hallo Joe,

bleib bitte bei einfachen Problemen einfach, also Tabelle1, bereich A1 und drumrum.

Zellen formatiert man mit .Numberformat.
Und zwischen .Value und .Text ist halt doch ein Unterschied.

Schau dir mal folgende Übersicht an, hinten steht jeweils die Anzeige der Msgbox.

Sub tt()
With Range("A1")
 .NumberFormat = "hh:mm:ss"
 .Value = "20:39:00"
 MsgBox IIf(IsDate("20:39:00") = True, "ja", "nein") ' ja
 MsgBox IIf(IsDate(.Value) = True, "ja", "nein") ' nein
 MsgBox IIf(IsDate( **CDate** (.Value)) = True, "ja", "nein") ' ja
 MsgBox .Value = "20:39:00" ' Falsch
 MsgBox . **Text** = "20:39:00" ' Wahr
End With
End Sub

Gruß
Reinhard

Thats it
MsgBox IIf(IsDate(CDate(Workbooks(Stamm).Worksheets(„Auswertung OK“).Cells(ZählerOK, 3).Value)) = True, „ja“, „nein“) ’ ja

Danke dir!