ich muss zwei größere Listen miteinander vergleichen. Das Schlüsselfeld ist in beiden Listen ein zusammengesetzter Wert aus Ordernr. und Position, die ich miteinander verknüpfe.
Dann wird in einer Doppelschleife jede Zeile der Original-Liste mit allen Zeilen der zweiten Liste verglichen und bei Treffer wird die gesamte Zeile rot eingefärbt.
Beide Listen enthalten etwa 4000 Zeilen.
Das Makro scheint zu funktionieren - jedoch wenn ich über alle Zeilen suche, dann benötigt das Makro zu lange bzw. es stürzt vielleicht ab (ich habe nach 30 Minuten jeweils abgebrochen).
Was kann ich machen um die Geschwindigkeit zu optimieren oder habe ich einen ganz anderen Fehler?
Ich bitte um Hilfe!
Vielen Dank -viele Grüße
Bernhard
Sub CompareFiles()
Dim i As Single 'Schleifenzähler Zeilen
Dim k As Single
Dim l As Integer
Dim Original As Workbook
Dim CompareWith As Workbook
Dim CompareWithName As String
Dim OriginalName As String
OriginalName = ActiveWorkbook.name
Set Original = Workbooks(OriginalName)
Const dir = "c:\Makro_Test"
Application.Dialogs(xlDialogOpen).Show "c:\Makro_Test"
CompareWithName = ActiveWorkbook.name
Set CompareWith = Workbooks(CompareWithName)
Application.ScreenUpdating = False
For i = 1 To Original.Sheets(1).UsedRange.Rows.Count
For k = 1 To CompareWith.Sheets(1).UsedRange.Rows.Count
If Original.Sheets(1).Cells(i, 11) & Original.Sheets(1).Cells(i, 12) = CompareWith.Sheets(1).Cells(k, 11) & CompareWith.Sheets(1).Cells(k, 12) Then
Original.Sheets(1).Rows(i).Interior.ColorIndex = 3
Original.Sheets(1).Rows(i).Font.ColorIndex = 2
l = 1 + l
Exit For
End If
Next k
Next i
Debug.Print l & " Übereinstimmungen"
CompareWith.Close
Application.ScreenUpdating = True
End Sub