Hallo liebes Team,
habe noch ein Problem (das in vielen Foren z.T. andiskutiert und ähnlich gelöst wird) bei den Schleifen bei folgender Aufgabenstellung:
Leider komme ich nicht mehr weiter, auch Klaus-Dieters Excelwelt und co hilft mir nicht weiter. Bitte nur an User die keine stupiden Kommentare mit "wozu mit Makro?", "mach doch mit SVERWEIS & co", das nervt schlichtweg und ist wie in der Schule "Themaverfehlung"
Ich möchte zwei Dateien vergleichen: Beide Tabellen Haben Daten in selbigem Format in Spalten B-H.
Tabelle A ist meine Masterliste, Tabelle 2 ist eine Art Downloaddatei, die regelmäßig aktualisert und in selbigem Format ersetzt wird (kommen immer neue Einträge dazu).
Ich würde gerne erreichen, dass in meiner Masterliste die "neu dazugekommenen" Einträge aus der Downloaddatei in die aktuell unterste Zeile (EndeMaster) der Masterdatei angefügt werden.
Mein Problem besteht v.a. in der IF-Clause bzw. Schleife: Eig. sollte jede Zeile der Downloaddatei mit der Masterliste Zeile für Zeile abgeglichen werden und erst wenn alle Zeilen der Masterliste durchlaufen sind, die Einträge kopiert werden, falls sie nicht vorkommt.
Falls der Datensatz bereits in der Masterliste ist, soll nichts passieren (Schleife einfach den Nächsten Datensatz prüfen).
If Clause soll prüfen: Wenn Wert in Spalte B und Spalte H aus beiden Dateien identisch ist, dann ist der Datensatz schon vorhanden. Wenn <> dann soll der "Neue" Datensatz (alle Werte in Spalten B-H) in Masterliste in letzter Zeile angefügt werden.
Masterliste (Aussehen):
Spalte A Spalte B (SNR) Spalte C Spalte D ... Spalte H (NR)
leer AAA XX 12 45
... BBB XXX 123 456
... CCC XXXX 5456 77
...
Downloaddatei (Aussehen):
Spalte A Spalte B (SNR) Spalte C Spalte D ... Spalte H (NR)
leer AAA XX 12 45
leer BBB XXX 123 456
... CCC XXXX 5456 77
... NNN (neu) NN 564 31
... MMM (neu) NNN 789 4
Bisheriger Code:
____________________________________________________________________________
Sub...
Dim i, j, k
Dim DL, Master As Workbook
Dim EndeMaster, EndeDL, n As Integer
Set Master = ThisWorkbook
Set DL = Workbooks.Open("Download.xls", ReadOnly:=True)
EndeMaster = Master.Sheets("Tabelle1").Cells(65000, 2).End(xlUp).Row
EndeDL = DL.Sheets("Tabelle1").Cells(65000, 2).End(xlUp).Row
i = 1
j = 1
k = 1
Master.Activate
For i = 3 To EndeDL
For j = 3 To EndeUR
If DL.Sheets("Tabelle1").Cells(i, 10) <> Cells(j, 2).Value And DL.Sheets("Tabelle1").Cells(i, 16) <> Cells(j, 8).Value Then
Range("J" & i & ":" & "P" & i).Select
Selection.Copy
Range("B" & EndeMaster + k).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Else
' MsgBox ("WERTE GLEICH: " & Cells(i, 10) & " | " & Cells(j, 2) & " xx " & Cells(i, 16) & " | " & Cells(j, 8))
Exit For
End If
Next j
k = k + 1
Next i
DL.Close
End Sub
|