Danke erstmal für die schnelle Antwort und Hilfsbereitschaft....ich kopiere mal noch die Import-Funktion mit rein, das habe ich vorhin vergessen :)
Option Explicit
Const HomeDatei = "DUBLETTENBEREINIGUNG.xlsm" 'Name Arbeitsmappe Makro-Excel-Datei
Const HomeDaten = "Daten-Import" 'Name Tabellenblatt Daten-Import
Const HomeListe = "Datei-Liste" 'Name Tabellenblatt Datei-Liste
Const HomeZeile = 3 'Erste Zeile Einfügen
Const CopyZeile = 3 'Erste Zeile Kopieren
Const ListDatei = "A1" 'Zelle erster Dateiname
Const ErrMsg = "Abbruch! Datei existiert nicht: "
Sub SheetsImport()
Dim WksHome As Worksheet, WksList As Worksheet, EndLine As Integer, NextLine As Integer
Dim WkbCopy As Workbook, WksCopy As Worksheet, Fso As Object, File As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Set WksHome = Workbooks(HomeDatei).Sheets(HomeDaten)
Set WksList = Workbooks(HomeDatei).Sheets(HomeListe)
EndLine = GetEndLine(WksHome): NextLine = HomeZeile
If EndLine >= HomeZeile Then WksHome.Rows("3:" & EndLine).Cells.Clear
Application.ScreenUpdating = False
For Each File In WksList.Range(ListDatei).CurrentRegion
If Fso.FileExists(File) = False Then
Application.ScreenUpdating = True
MsgBox ErrMsg & File, vbExclamation, "Fehler": Exit Sub
End If
Set WkbCopy = Workbooks.Open(File): Set WksCopy = WkbCopy.Sheets(1)
EndLine = GetEndLine(WksCopy)
If EndLine >= CopyZeile Then
WksCopy.Rows("3:" & EndLine).Copy
WksHome.Rows(NextLine).Insert Shift:=xlDown
Application.CutCopyMode = False
WkbCopy.Saved = True: WkbCopy.Close
NextLine = GetEndLine(WksHome) + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Welche Dateien importiert werden, lege ich auf dem zweiten Arbeitsblatt fest, in dem ich den Pfad einfach untereinander schreibe.
Ich importiere beide Dateien in das erste Datenblatt, auf diese Liste wende ich die Dublettenbereinigung an, die auch funktioniert.
Nun soll zusätzlich aus der neuen Liste im Arbeitsblatt 1 die Daten aus der Bestandsliste abgezogen werden.
Dahinter steckt die Logik, aus der Datei "NeueAdressen" jene Datensätze zu löschen, die bereits im Bestand sind. Soweit funktioniert es bis jetzt. Nun müssen aber logischerweise auch die Bestandsdaten rausgelöscht werden, weil ich ja nur neue Adressen sehen will. Diesen Schritt habe ich vergessen.
Wie kann ich dies nun genau integrieren?
Ganz herzlichen Dank im Voraus!!
|