Makro zum Vergleich zweier Tabellen und aussortieren

14/07/2009 - 18:24 von Krisovice | Report spam
Folgendes Problem:

2 Tabellenblàtter (T1 und T2) haben einen identischen Aufbau und
enthalten zum Teil identische Daten (Zeilenanzahl unterschiedlich,
Spalten A bis AC sind befüllt). Gesucht werden nun alle Daten, die
zwar in T1 vorkommen, nicht aber in T2. Diese sollen komplett (d.h.
die Felder A bis AC der jeweiligen Zeile) in einem Blatt "T3"
ausgegeben werden.Ausschlaggebend ist die exakte(!) Übereinstimmung
der Felder in Spalte B.

Die in Klaus Dieters Excelwelt skizzierte Lösung funktioniert leider
nicht (bei mir wird ein Bug in Zeile 9 ausgegeben). Da ich mit Virtual
Basic keine bis kaum Erfahrung habe, freue ich mich über Anregungen.
 

Lesen sie die antworten

#1 Claus Busch
14/07/2009 - 19:22 | Warnen spam
Hallo Christoph,

Am Tue, 14 Jul 2009 09:24:11 -0700 (PDT) schrieb Krisovice:

2 Tabellenblàtter (T1 und T2) haben einen identischen Aufbau und
enthalten zum Teil identische Daten (Zeilenanzahl unterschiedlich,
Spalten A bis AC sind befüllt). Gesucht werden nun alle Daten, die
zwar in T1 vorkommen, nicht aber in T2. Diese sollen komplett (d.h.
die Felder A bis AC der jeweiligen Zeile) in einem Blatt "T3"
ausgegeben werden.Ausschlaggebend ist die exakte(!) Übereinstimmung
der Felder in Spalte B.



es kommt also nur auf die Eintràge in Spalte B an?
Dann probiers mal so:

Sub TabellenVergleich()

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim wsAusg As Worksheet
Dim LRow1 As Long
Dim LRow2 As Long
Dim LRow3 As Long
Dim maxRow As Long
Dim i As Long

Set ws1 = Worksheets("T1")
Set ws2 = Worksheets("T2")
Set wsAusg = Worksheets("T3")

wsAusg.Cells.Clear

LRow1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row
LRow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row

If LRow1 > LRow2 Then
maxRow = LRow1
Else
maxRow = LRow2
End If

For i = 1 To maxRow
If ws1.Cells(i, 2) <> ws2.Cells(i, 2) Then
LRow3 = wsAusg.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws1.Rows(i).Copy _
Destination:=wsAusg.Range("A" & LRow3)
End If
Next

End Sub


Mit freundlichen Grüssen
Claus Busch
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Ähnliche fragen