Ich möchte gerne zwei Excel-Tabellen miteinander vergleichen, anhand der dort hinterlegten drei Spalten die in den beiden Tabellen identisch sein sollten, sind sie aber nicht bis auf ein paar Datensätze.
Als Ergebnis hätte ich gern eine Auflistung der Datensätze, die nicht in beiden Tabellen vorkommen.
Ich habe mir da mal mit Hilfe was geschrieben... und ich betone mit Hilfe da ich echt von VBA sehr wenig bis gar kein Plan habe!
Also ich habe das jetzt so gemacht, dass ich in einer Mappe, beide Tabellen habe... Tabelle1 und Tabelle2... und ich möchte das er mir die die nicht in den beiden Tabellen doppelt sind in Tabelle3 ausgibt.
Joa, also ich denke/hoffe/glaube das das was ich da gebastelt habe funzt, aber das is schwer zu sagen, weil die beiden Tabellen fast 60000 Zeichenzätze je drei Spalten besitzen... habe das jetzt schon mal fast ne Stunde laufen lassen... und joa... ihr versteht die Richtung glaube ich :-P Viel Eier Uhr wenig Ergebnis!
Ich poste mal den Code:
Private Sub CommandButton1_Click()
' Vergleicht Tabelle 2 mit Tablle 1 und schreibt Werte
' aus Tabelle 2, die in Tabelle 1 nicht vorkammen in Tabelle 3
Dim verg1(60000), verg2(60000), dopp%(60000), num(60000)
' Tabelle 1 einlesen
Worksheets("Tabelle1").Activate
y = 2
Do While Cells(y, 1) <> ""
verg1(y) = Cells(y, 2)
y = y + 1
Loop
' Tabelle 2 einlesen
Worksheets("Tabelle2").Activate
z = 2
Do While Cells(z, 1) <> ""
num(z) = Cells(z, 1)
verg2(z) = Cells(z, 2)
z = z + 1
Loop
For r = 2 To y - 1
For s = 2 To z - 1
If r = s Then s = s + 1
If verg1(r) = verg2(s) Then 'And dopp(s) = 0
dopp(s) = 1
Cells(s, 3) = "gleich"
End If
Next s
Next r
' In Tabelle 3 schreiben
Worksheets("Tabelle3").Activate
zz = 1
For u = 1 To z - 1
If dopp(u) = 0 Then
Cells(zz, 1) = num(u)
Cells(zz, 2) = verg2(u)
zz = zz + 1
End If
Next u
End Sub
Hab ich da was falsch gemacht oder ist das einfach der falsche Weg um so viele Datensätze zu vergleichen?
Cool wäre so ne Art Status der mir immer sagt "Sei geduldig 1... sei geduldig 2 usw. das ich sehe, dass was läuft, oder?!
Gruß