Tabelle1:
Spalte1 Spalte2 Spalte3
139 |26,95| 0
XX0029 |4,28| 0
138 |63,97| 0
141/142|23,75| 0
Tabelle2:
Spalte1 Spalte2
139| 26,99
XX0029| 4,28
138| 63,97
XX0030| 1,90
XX0024| 1,67
121| 78,22
XX0023| 11
179| 111
181| 111
Es ein Wert aus der Spalte1/Tabelle1 in Spalte1/Tabelle2
gesucht werden, z. B. 139 (siehe Tabelle1)
Wird dieser gefunden, soll dann der Wert rechts daneben,
also 26,95 aus Spalte2/Tabelle1 in Spalte2/Tabelle2
gesucht werden.
Wenn 26,95 gefunden, dann OK, sonst
suche den Wert 0 aus Spalte3/Tabelle1 in Spalte2/Tabelle2
Wenn auch das fehlschlägt, dann soll in Tabelle 2 die fehlerhaften Zellen rot gefärbt werden.
Hier auch noch mal der Code, den mir sholub zur Verfügung gestellt hat:
Sub vergleichen()
Dim rowWS1 As Integer
Dim rowWS2 As Integer
rowWS1 = 2
Do
rowWS2 = 6
Do
If CStr(Workbooks("Datei2.xls").Sheets(1).Cells(rowWS2, 1).Value) = CStr (Workbooks("Datei1.xls").Sheets(1).Cells(rowWS1, 1).Value) Then i = 1
If CStr(Workbooks("Datei2.xls").Sheets(1).Cells(rowWS2, 4).Value)
<> CStr(Workbooks("Datei1.xls").Sheets(1).Cells(rowWS1, 2).Value) _
Or CStr(Workbooks("Datei2.xls").Sheets(1).Cells(rowWS2, 4).Value)
<> CStr(Workbooks("Datei1.xls").Sheets(1).Cells(rowWS1, 3).Value) Then
Workbooks("Datei1.xls").Sheets(1).Cells(rowWS1, 4).Value
= "FEHLER"
End If
End If
rowWS2 = rowWS2 + 1
Loop Until CStr(Workbooks("Datei2.xls").Sheets(1).Cells(rowWS2,
1).Value) = (Workbooks("Datei1.xls").Sheets(1).Cells(rowWS1, 1).Value)
Or IsEmpty(Workbooks("Datei2.xls").Sheets(1).Cells(rowWS2, 1).Value) rowWS1 = rowWS1 + 1 Loop Until IsEmpty(Workbooks("Datei2.xls").Sheets(1).Cells(rowWS2,
1).Value)
End Sub
Die Tabellen sind übrigens verschieden lang.
Vielen Dank für Eure Hilfe
:-) Fluvio