Liste mit Bestand vergleichen => bei neuem Datensatz hinzufügen, bei fehlenden einen Zähler hochsetzen

  • Excel

    Liste mit Bestand vergleichen => bei neuem Datensatz hinzufügen, bei fehlenden einen Zähler hochsetzen

    Hi zusammen,

    folgende Problematik:

    Ich habe eine Exceldatei in der ich verschiedene Auswertungen mache. Die Daten kommen aus SAP bzw. aus einer Exceldatei die ich durch SAP erstelle. Das heisst über ein Makro öffnet sich die "Datei öffnen" Maske, und es wird einmal im Monat die SAP-Exceldaten in meine bestehende Exceldatei importiert. Dann werden mittels Makro alle Dublikate herausgefiltert und die gefilterten Daten auf ein weiteres Tabellenblatt kopiert.

    Es handelt sich dabei um Maßnahmen die mit einer Meldungsnummer registriert sind. In meiner bestehenden Exceldatei sind bereits Daten gespeichert.

    Jetzt möchte ich das die neu importierten Daten, nach der Dublikatfilterung, mit der bestehenden Liste verglichen wird. Dabei sollen zwei Dinge passieren:

    Wenn ein Datensatz nicht in der bestehenden Liste steht, sollen die Daten eingetragen werden.

    Wenn ein Datensatz aus der bestehenden Liste in der neuen Liste nicht mehr da ist, soll ein Zähler nach oben gezählt werden.


    Der Vergleich geschieht über die Meldungsnummer.

    Ich hoffe es ist verständlich was ich möchte....hier noch mein bestehender Code:

    Quellcode

    1. Sub Dublikate_Loeschen_Kopieren()
    2. '
    3. Dim LastRow As Long
    4. Dim wks As Worksheet
    5. Dim Zeilenanzahl As Integer
    6. Dim Spaltenanzahl As Integer
    7. Dim zeile As Long
    8. Application.ScreenUpdating = False
    9. 'Dublikate aus Tabellenblatt Import löschen
    10. Set wks = ThisWorkbook.Worksheets("Import")
    11. ActiveSheet.UsedRange.RemoveDuplicates Columns:=1, Header:=xlYes
    12. 'Aktuelles Datum in CC1
    13. Range("CC1").Select
    14. ActiveCell.FormulaR1C1 = "=TODAY()"
    15. 'Hinter allen Verwendeten Zeilen Datum
    16. Range("H2").Select
    17. ActiveCell.FormulaR1C1 = "=IF(ISNONTEXT(RC[-6]),"""",(R1C[73]))"
    18. Range("H2").Select
    19. Selection.AutoFill Destination:=Range("H2:H10000"), Type:=xlFillDefault
    20. Range("H2:H10000").Select
    21. 'Benutzten Bereich ausschneiden und auf Dublikat_Filter einfügen
    22. Zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    23. Spaltenanzahl = ActiveSheet.Cells(Zeilenanzahl, Columns.Count).End(xlToLeft).Column
    24. Range(Cells(2, 1), Cells(Zeilenanzahl, Spaltenanzahl)).Copy
    25. Sheets("Dublikat_Filter").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, _
    26. Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    27. 'Inhalte in Tabellenblatt Import löschen
    28. Worksheets("Import").Cells.Clear
    29. Application.ScreenUpdating = True
    30. End Sub


    Danke im voraus.