Thema Datum  Von Nutzer Rating
Antwort
Rot 2 Tabellen vergleichen und neue Datensätze an unterste Zeile kopieren
21.07.2014 16:30:44 makromilian
NotSolved

Ansicht des Beitrags:
Von:
makromilian
Datum:
21.07.2014 16:30:44
Views:
1850
Rating: Antwort:
  Ja
Thema:
2 Tabellen vergleichen und neue Datensätze an unterste Zeile kopieren

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" :twisted: :D

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
 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot 2 Tabellen vergleichen und neue Datensätze an unterste Zeile kopieren
21.07.2014 16:30:44 makromilian
NotSolved