VBA: Tabellenvergleich + farblich markieren

Hallo,

folgendes Problem quält mich schon eine ganze Zeit.
Ich habe 2 Arbeitsblätter (BlattA und BlattB), die verglichen werden sollen. Beide Blätter bestehen aus 6 Spalten. Allerdings kann die Anzahl der Zeilen variieren.
Die Daten sollen nun zeilenweise verglichen werden (also immer das Array A1:F1 usw). Allerdings ist die Reihenfolge unerheblich (Array A1:F1 in BlattA kann A20:F20 in BlattB entsprechen) und soll nicht farblich markiert werden.
Da das noch nicht genug Probleme machen würde, soll das, was in BlattB zuviel ist (nicht in BlattA vorkommt), in BlattA kopiert und grün markiert werden.
Daten, die in BlattA zuviel sind (also nicht im Blatt B vorkommen) sollen gelb markiert werden.
Aber schon allerhand Ansätze aber nicht funktioniert richtig. Hoffentlich kann mir hier jemand helfen.

Gruß !

Da das noch nicht genug Probleme machen würde, soll das, was
in BlattB zuviel ist (nicht in BlattA vorkommt), in BlattA
kopiert und grün markiert werden.
Daten, die in BlattA zuviel sind (also nicht im Blatt B
vorkommen) sollen gelb markiert werden.

Hi Shmiddy,
probiers mal so in einem Modul:

Option Explicit
Option Base 1
Sub tt()
Dim wsA As Worksheet, wsB As Worksheet, gefunden As Boolean, zeiA As Long, zeiB As Long
Dim SatzA() As String, SatzB() As String, n As Long, nn As Long
Set wsA = Worksheets("Tabelle1")
Set wsB = Worksheets("Tabelle2")
With wsA
 .UsedRange.Interior.ColorIndex = xlNone
 ReDim SatzA(.Range("A65536").End(xlUp).Row)
 For zeiA = 1 To .Range("A65536").End(xlUp).Row
 SatzA(zeiA) = Zusammen(.Cells(zeiA, 1))
 Next zeiA
 .UsedRange.Interior.ColorIndex = xlNone
 ReDim SatzB(wsB.Range("A65536").End(xlUp).Row)
 For zeiB = 1 To wsB.Range("A65536").End(xlUp).Row
 SatzB(zeiB) = Zusammen(wsB.Cells(zeiB, 1))
 Next zeiB
 For n = 1 To UBound(SatzA)
 gefunden = False
 For nn = 1 To UBound(SatzB)
 If SatzA(n) = SatzB(nn) Then
 gefunden = True
 Exit For
 End If
 Next nn
 If gefunden = False Then .Range(.Cells(n, 1), .Cells(n, 6)).Interior.ColorIndex = 6 'gelb
 Next n
 For n = 1 To UBound(SatzB)
 gefunden = False
 For nn = 1 To UBound(SatzA)
 If SatzB(n) = SatzA(nn) Then
 gefunden = True
 Exit For
 End If
 Next nn
 If gefunden = False Then
 wsB.Range(wsB.Cells(n, 1), wsB.Cells(n, 6)).Copy Destination:=.Cells(zeiA, 1)
 .Range(.Cells(zeiA, 1), .Cells(zeiA, 6)).Interior.ColorIndex = 10 'grün
 zeiA = zeiA + 1
 End If
 Next n
End With
End Sub

Function Zusammen(Zelle As Range) As String
Dim s As Integer, Spalten As Integer
Spalten = 6 'Spaltenanzahl
For s = 0 To Spalten - 1
 Zusammen = Zusammen & Zelle.Offset(0, s)
Next s
End Function

Gruß
Reinhard

Vielen vielen Dank ! Musste nur noch ein End If ergänzen - jetzt funktionierts !!!