Ich möchte durch einen Button einen Import einer Tabelle durchführen.
Die Tabelle besteht aus den Spalten: ID , Name, Vorname etc.
Nun soll durch den Button Datenimport diese Tabelle aus einer geschlossenen Quelldatei in das geöffnete Sheet kopiert werden.
Allerdings soll ebenfalls drauf geachtet werden welche Datensätze schonvorhanden sind, diese sollen nicht mitkopiert werden. Alle die noch nicht vorhanden sind sollen einfach unten an die Tabelle in der Zieldatei angefügt werden.
Ich habe dazu auch schon einen Code, welchen ich ebenfalls hier aus dem Forum habe, doch funktionieren tut er noch nicht ganz.
Private Sub cmdimport_Click()
Dim Zelle As Range
Dim quRows As Long
Dim zuRows As Long
Dim suche As Range
Dim QWB As Workbook, ZWB As Workbook
Dim qsh As Worksheet, zsh As Worksheet
Dim ordner As Variant
'Wenn die Datei erst geöffnet werden muss
On Error GoTo Fehler
Set ZWB = ThisWorkbook ' Ziel, Workbook mit diesem Makro
Set zsh = ZWB.Sheets("Sheet 1") ' Ziel
ordner = Application.GetOpenFilename("Manche Dateien (*.txt),*.txt,Alle Dateien,*.*")
Set QWB = Workbooks.Open(ordner) ' Quelle, aus der die Tabelle41 kopiert werden soll
Exit Sub
Set qsh = QWB.Worksheets("Sheet 1") ' Quelle
If MsgBox("Wollen Sie die Daten aktualisieren?", vbYesNo) = vbNo Then
qsh.Cells.Copy zsh.Cells(1, 1) ' oder before
Else
'code für update
quRows = qsh.UsedRange.Rows.Count
For Each Zelle In qsh.Range(qsh.Cells(1, 1), qsh.Cells(quRows, 1))
Set suche = zsh.Columns(1).Find(Zelle, , xlValues, xlWhole)
If suche Is Nothing Then
'zeile wird ins zielsheet unten angefügt
Zelle.EntireRow.Copy zsh.Cells(zsh.UsedRange.Rows.Count + 1, 1)
End If
Next
End If
QWB.Close ' Wenn die Datei wieder geschlossen werden soll
Fehler: MsgBox ("Der Datenimport wurde abgebrochen!")
End Sub