Hallo Zusammen,
bin neu im Bereich und habe zwar schon einige Infos zu dem Stichwort gefunden, alledings probleme in der Anwendung auf meinen Fall.
Ich habe 2 Tabellenblätter, Aufbau identisch.
Nun möchte ich Spalte A+B Tabelle 1 mit Spalte A+B Tabelle 2 vergleichen. Anschließend sollen ungleiche Zeilen kopiert und in eine Tabelle 3 eingefügrt werden. Die Tabellen können unterschiedlich lang sein, daher benötige ich eine Schleife.
Ich habe 2 Tabellenblätter, Aufbau identisch.
Nun möchte ich Spalte A+B Tabelle 1 mit Spalte A+B Tabelle 2
vergleichen. Anschließend sollen ungleiche Zeilen kopiert und
in eine Tabelle 3 eingefügrt werden. Die Tabellen können
unterschiedlich lang sein, daher benötige ich eine Schleife.
irgendwie sehe ich da Probleme.
Soll man Zeilenweise vorgehen?
Also ich überprüfe erst Tab1!A1&B1 mit Tab2!A1&B1, dann Tab1!A2&B2 mit Tab2!A2&B2, dann Tab1!A3&B3 mit Tab2!A3&B3 usw.?
Oder soll man prüfen ob Tab1!A1&B1 in Tab2!AxBx vorkommt?
Tabelle1SpalteA+SpalteB Tabelle2SpalteA+SpalteB > in
Tabelle3 nächste freie Zeile kopieren
Hallo Reinhard,
ich möchte prüfen ob ob Tab1!A1&B1 in Tab2!AxBx vorkommt, wenn nein, dann soll diese Zeile in Tab3 kopiert werden. Dabei soll in Tab1 sämtliche Zeilen mit Tab2 verglichen werden…
ich möchte prüfen ob ob Tab1!A1&B1 in Tab2!AxBx vorkommt, wenn
nein, dann soll diese Zeile in Tab3 kopiert werden. Dabei soll
in Tab1 sämtliche Zeilen mit Tab2 verglichen werden…
Hallo Christian,
ich habe als Hilfsspalte Spalte T genommen, wenn die nicht frei ist, nimm eine andere, dazu im Code jedes T abändern.
Sub vergleich()
Dim Zei1 As Long, Zei2 As Long, Zei3 As Long, Z As Long
Dim Wks1 As Worksheet, Wks2 As Worksheet, Wks3 As Worksheet
Set Wks1 = Worksheets("Tabelle1")
Set Wks2 = Worksheets("Tabelle2")
Set Wks3 = Worksheets("Tabelle3")
Wks3.UsedRange.ClearContents
Zei1 = Wks1.Cells(Rows.Count, 1).End(xlUp).Row
Zei2 = Wks2.Cells(Rows.Count, 1).End(xlUp).Row
Wks1.Range("T2:T" & Zei1).FormulaLocal = "=A2 &""#"" & b2"
Wks2.Range("T2:T" & Zei1).FormulaLocal = "=A2 &""#"" & b2"
Wks1.Rows(1).Copy Destination:=Wks3.Range("A1")
Zei3 = 1
With Wks3
For Z = 2 To Zei1
If Application.CountIf(Wks2.Range("T:T"), Wks1.Range("T" & Z).Value) = 0 Then
Zei3 = Zei3 + 1
Wks1.Rows(Z).Copy Destination:=.Range("A" & Zei3)
End If
Next Z
.Range("T:T").ClearContents
End With
Wks1.Range("T:T").ClearContents
Wks2.Range("T:T").ClearContents
End Sub