Datenimport ohne überschreiben
14.07.2014 10:41:22
Knoof
Ich habe ein Problem, unzwar geht es um den Import von Datensätzen von einer Exceldatei in eine Zieldatei.
Das importieren bzw kopieren ist bisher kein Problem. Meine Zieldatei enthält eine UserForm1 mit dem Button "Datenimport".
Durch betätigen des Buttons kann ich eine Quelldatei auswählen und danach werden automatisch die datensätze in meine Zieldatei kopiert.
Das Problem besteht nun darin:
Der Datenimport der Quelldatei2 hat bereits einmal stattgefunden. nunr wurde die Quelldatei2 aber um einige Datensätze erweitert.
Um diese neuen Datensätze auch in meine Zieldatei zu bekommen wähle ich die Quelldatei2 erneut für den Datenimport aus.
Nun sollen aber nur die neuen (bzw. in der Zieldatei noch nicht vorhandenen) Datensätze importiert werden.
Ist es möglich quasi eine kontrolle durchzuführen welche datensätze bereits vorhanden sind und welche noch nicht und das diese dann hinzugefügt werden?
Oder gibt es eine alternative?
-> Jeder Datensatz enthält eine eindeutige ID, vieleicht ist das von NUtzen für die Lösung
Private Sub cmdimport_Click()
Dim QWB As Workbook, ZWB As Workbook
Dim QWS As Worksheet, ZWS As Worksheet
Dim ordner As Variant
'Wenn die Datei erst geöffnet werden muss
Set ZWB = ThisWorkbook ' Ziel, Workbook mit diesem Makro
Set ZWS = ZWB.ActiveSheet ' Ziel
ordner = Application.GetOpenFilename("Manche Dateien (*.txt),*.txt,Alle Dateien,*.*")
Set QWB = Workbooks.Open(ordner) ' Quelle, aus der die Tabelle41 kopiert werden soll
Set QWS = QWB.Worksheets("Sheet 1") ' Quelle
QWS.Cells.Copy ZWS.Cells(1, 1) ' oder before
QWB.Close ' Wenn die Datei wieder geschlossen werden soll
End Sub