Hallo David,
ich hab Dir schnell mal was gebastelt, damit müsste es gehen. Du musst allerdings die Tabellennamen anpassen.
Außerdem geht dieses Beispiel davon aus, dass die IDs in Spalte A stehen und die Bestände immer rechts daneben in Spalte B. In Tabelle3 schreibt er dann in Spalte A die ID, in Spalte B den Bestand aus Tabelle1 und in Spalte C den Bestand von Tabelle2. Sofern Du den Code verstehst, kannst Du dies ebenfalls anpassen, ansonsten einfach nachfragen :-)
Sub VergleichTabellen()
Zeile3 = 1
For Zeile1 = 1 To Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
For Zeile2 = 1 To Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
If Sheets("Tabelle1").Cells(Zeile1, 1) = Sheets("Tabelle2").Cells(Zeile2, 1) Then
Sheets("Tabelle3").Cells(Zeile3, 1) = Sheets("Tabelle1").Cells(Zeile1, 1)
Sheets("Tabelle3").Cells(Zeile3, 2) = Sheets("Tabelle1").Cells(Zeile1, 2)
Sheets("Tabelle3").Cells(Zeile3, 3) = Sheets("Tabelle2").Cells(Zeile2, 2)
Zeile3 = Zeile3 + 1
Exit For
End If
Next Zeile2
Next Zeile1
End Sub
Liebe Grüße
Y
PS: Bin mir übrigens unsicher wie schnell das Makro läuft bei größeren Datenmengen, berichte mal bitte.
|