25.04.2022, 09:53
Hallo, aus einer csv-Datei wird ein Datum ausgelesen und in der Excel-Datei, Spalte A auf Vorkommen gesucht:
Das gesuchte Datum ist in A9305. Der Vergleich von SearchDate mit dem Zellwert ist auch erfolgreich.
Die Suche nach dem Zellwert ist auch erfolgreich, aber die Suche nach SearchDate ergibt Nothing - warum das? Wo kann der Fehler liegen?
Danke
Stefan
Code:
Function DatumFinden(strDateTime)
Dim rngFind As Range
Dim lngLastRow As Long
Dim Jahr$, Monat$, Tag$, Stunde$, Minute$, Sekunde$
Dim datDatum As Date, datTime As Date, FirstDate As Date, SearchDate As Date
Jahr = Mid(strDateTime, 85, 4)
Monat = Mid(strDateTime, 90, 2)
Tag = Mid(strDateTime, 93, 2)
Stunde = Mid(strDateTime, 96, 2) + 2
Minute = Mid(strDateTime, 99, 2)
Sekunde = Mid(strDateTime, 102, 2)
'Datum und Zeit aus csv:
datDatum = DateSerial(Jahr, Monat, Tag)
datTime = TimeSerial(Stunde, Minute, Sekunde)
SearchDate = Format(datDatum + datTime, "DD.MM.YYYY hh:mm:ss")
'der Vergleich ist erfolgreich:
Debug.Print (SearchDate)
Debug.Print (Cells(9305, 1).Value)
If SearchDate = Cells(9305, 1).Value Then Debug.Print ("Treffer")
'Datum und Zeit aus xls:
Stop
lngLastRow = Range("A" & Rows.Count).End(xlUp).Row
'die Suche bleibt erfolglos:
Set rngFind = Range("A2:A" & lngLastRow).Find(what:=SearchDate)
'Suche erfolgreich:
Set rngFind = Range("A2:A" & lngLastRow).Find(what:=Cells(9305, 1))
If rngFind Is Nothing Then
DatumFinden = lngLastRow + 1
Exit Function
End If
DatumFinden = rngFind.Row
End Function
Die Suche nach dem Zellwert ist auch erfolgreich, aber die Suche nach SearchDate ergibt Nothing - warum das? Wo kann der Fehler liegen?
Danke
Stefan