ich verzweifle bald an einem eigenartigen Problem:
Ich hole Werte aus einer SQL-Datenbank und schreibe diese Werte in eine neue Arbeitsmappe.
Die Werte dieser Zellen lese ich per VBA aus und möchte sie mit Werten aus einer anderen Tabelle vergleichen. Leider ist in vielen Fällen ein Vergleich (if (wert_db = wert_tab) ...) nicht möglich, weil z.B. aus dem Datenbankwert 0,415 der Wert 0,41499999165535 wird.
Hier ausschnittsweise mein VBA-Script:
Dim gewicht_tof, gewicht_vss As Single
' Übernahme der Werte
gewicht_tof = Workbooks(tofdaten).Worksheets("Tabelle1").Cells(i, 16).Value
gewicht_vss = Workbooks(vssdaten).Worksheets("Tabelle1").Cells(j, 6).Value
If (gewicht_tof <> gewicht_vss) Then
Cells(lfd_zeile_vgl, 4).Value = gewicht_tof
Cells(lfd_zeile_vgl, 10).Value = gewicht_vss
End if
Die Ausgabe wäre also 0,415 und 0,414999992 (gerundet lt. Zellenformat). Aber der Wert der Abfrage (gewicht_vss) ist 0,415! Das habe ich auch per MsgBox getestet.
Wie kommt Excel zu solcher Eigenmächtigkeit und wie kann ich das verhindern?
Ich hoffe, daß mir einer helfen kann.
Gruß
Dieter