ich habe hier im Forum eine Sub-Anweisung von Peter Feustel gefunden und in der Beispielmappe für meine Belange versucht anzupassen.
Das Auffinden und Markieren der Abweichungen funktioniert auch ganz ausgezeichnet solange, wie die Datenstruktur in den Tabellenblätter Bestand_alt und Bestand_neu identisch ist und nur einzelne Werte voneinander abweichen.
Sobald ein oder mehrere Datensätze im Tabellenblatt Bestand_neu jedoch nicht mehr vorhanden sind und sich somit die Matrix verschiebt, kommt es zu falschen Ergebnissen.
Hier ist noch der Original-Code von Peter Feustel:
Sub vergleichMatrix()
Dim arr1 As Variant
Dim arr2 As Variant
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Dim strRange As String
Dim n As Long, m As Long
strRange = "A1:CV10000" 'Bereich der verglichen wird - anpassen
Set wks1 = Sheets("Tabelle1")
'Tabelle1 - anpassen
Set wks2 = Sheets("Tabelle2")
'Tabelle2 - anpassen, in dieser Tabelle wird gekennzeichnet!
arr1 = wks1.Range(strRange)
arr2 = wks2.Range(strRange)
For m = 1 To UBound(arr1, 2)
For n = 1 To UBound(arr1, 1)
If arr1(n, m) arr2(n, m) Then
wks2.Range(strRange).Cells(n, m).Interior.ColorIndex = 6
End If
Next
Next
End Sub
Lässt sich die Anweisung so anpassen, dass die Markierung der Abweichungen unabhängig von der Reihenfolge der Datensätze in den Tabellenblättern richtig vorgenommen wird?
Ich bitte Euch um Hilfe und danke schon im Voraus.
Hallo liebe EXCEL-Freunde bzw. VBA-Spezialisten,
ich habe hier im Forum eine Sub-Anweisung von Peter Feustel gefunden und in der Beispielmappe für meine Belange versucht anzupassen.
Das Auffinden und Markieren der Abweichungen funktioniert auch ganz ausgezeichnet solange, wie die Datenstruktur in den Tabellenblätter Bestand_alt und Bestand_neu identisch ist und nur einzelne Werte voneinander abweichen.
Sobald ein oder mehrere Datensätze im Tabellenblatt Bestand_neu jedoch nicht mehr vorhanden sind und sich somit die Matrix verschiebt, kommt es zu falschen Ergebnissen.
Hier ist noch der Original-Code von Peter Feustel:
Sub vergleichMatrix()
Dim arr1 As Variant
Dim arr2 As Variant
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Dim strRange As String
Dim n As Long, m As Long
strRange = "A1:CV10000" 'Bereich der verglichen wird - anpassen
Set wks1 = Sheets("Tabelle1")
'Tabelle1 - anpassen
Set wks2 = Sheets("Tabelle2")
'Tabelle2 - anpassen, in dieser Tabelle wird gekennzeichnet!
arr1 = wks1.Range(strRange)
arr2 = wks2.Range(strRange)
For m = 1 To UBound(arr1, 2)
For n = 1 To UBound(arr1, 1)
If arr1(n, m) arr2(n, m) Then
wks2.Range(strRange).Cells(n, m).Interior.ColorIndex = 6
End If
Next
Next
End Sub
Lässt sich die Anweisung so anpassen, dass die Markierung der Abweichungen unabhängig von der Reihenfolge der Datensätze in den Tabellenblättern richtig vorgenommen wird?
Ich bitte Euch um Hilfe und danke schon im Voraus.
Mit freundlichem Gruß
Bibo
https://www.herber.de/bbs/user/62517.xls