Habe einen funktionierenden Code, der im Array Zellen miteinander vergleicht.
Nun soll der Code ein langes Datum (Datum:Stunde:Minute:Sekunde) miteinander vergleichen.
Obwohl das Datum gleich ist, wird es bei gewissen Datensätzen nicht als gleich erkannt.
Codeausschnitt:
For SearchCounter = LBound(arrHelfer) To UBound(arrHelfer)
If arrImport(i, IdSpalte) = arrHelfer(SearchCounter, IdSpalte) Then
NeueHelfer = 1
If NeueHelfer = 1 Then Exit For
End If
Next SearchCounter
Wenn die Schleife an einen Datensatz angekommen ist wo es nicht funktioniert, dann sieht es so aus (aus dem Direktfenster kopiert):?arrimport(i,idspalte)
43028,8494907407
?arrhelfer(searchcounter,idspalte)
43028,8494907407
Wie man sieht ist das Datum exakt das Gleiche, aber trotzdem macht der Code beim Next weiter und geht nicht in die If Anweisung, was er eigentlich tun sollte.
Mit richtigem Datumsformat sieht das Datum übrigens so aus:
2017-10-20 20:23:16
Aber auch wenn ich in den Tabellenblättern das Datumsformat einstelle bevor es in den Array eingelesen wird, entsteht der Fehler.
Bei manchen Daten funktioniert es, bei manchen nicht.
Warum?
Hintergrund:
Das Tabellenblatt IMPORT wird mit dem Tabellenblatt HELFER verglichen. Wenn es neue Datensätze in IMPORT gibt, werden sie in HELFER reinkopiert.
Ist HELFER leer, werden alle Datensätze rüberkopiert.
Auf diese Art und Weise dürfen keine doppelten Werte in HELFER gelangen.
Das Funktioniert auch wenn normale Zahlen oder Wörter verglichen werden. Aber nicht wenn Datum:Stunde:Minute:Sekunde verglichen werden.
Kann ein Array solche langen Nachkommastellen nicht richtig verarbeiten?
Viele Grüsse
Kailash