Ist es möglich in alle Dateien aus einem Ordner in eine Tabelle zu importieren?
Ich habe eine Datei mit mehreren Tabellenblättern. Jetzt möchte ich dort Daten aus anderen Excel-Dateien importieren. Die zu importierenden Dateien befinden sich alle in einem Ordner. Ich möchte gerne einen Button haben, der das sozusagen automatisch erledigt.
Hauptdatei
Datei in die die Daten importiert werden sollen.
Die Daten sollen auf Tabellenblatt Sachbearbeiter importiert werden.
Und zwar ab Zelle A 16
Spalten: A-Q
Aufbau gleich dem der Importdateien (Gleiche Spaltenanzahl und Überschriften)
Import Dateien
Mehrere Dateien in gleichem Ordner
Unterschiedliche Dateinamen
Sind alle gleich aufgebaut (Gleiche Spaltenanzahl und Überschriften)
Zeilenanzahl variabel, da der Inhalt unterschiedlich lang ist.
Name Tabellenblatt aus dem die Daten ausgelesen werden sollen: VerfahrenslisteSB
Spalten: A-Q
Ich habe einen Code mit dem ich eine Datei importieren kann, welcher super läuft. Ich weiß aber nicht, wie ich ihn so anpassen kann, dass er mehrere Dateien ausliest. Die Daten müssten schließlich untereinander angeordnet werden, damit bereits vorhandener Inhalt nicht überschirieben wird, wenn bereits z.B. die erste Datei importiert wurde. Das heißt, der Code müsste prüfen wo die letzte benutzte Zeile ist, um die folgenden Daten darunter einzutragen.
Ich würde mich freuen, wenn jemand sich darüber sein Superhirn zerbrechen würde. Danke im Voraus.
Anja
Mein Code:
Private Sub cmdImport_Click()
Application.ScreenUpdating = False
Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
'Dialog "Datei öffnen" anzeigen
Datei = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx; *.xlsm)," & _
"*.xls; *.xlsx; *.xlsm")
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
'MsgBox "Ausgewählte Datei: " & Datei, , ""
'Ausgewählte Datei öffnen
Workbooks.Open Filename:=Datei
Set Quelle = ActiveWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets(1)
'kopieren und einfügen
Quelle.UsedRange.Copy Ziel.Cells(2, 1)
ActiveWorkbook.Close
'Speicher freigeben
Set Quelle = Nothing
Set Ziel = Nothing
Exit Sub
Fehler:
Set Quelle = Nothing
Set Ziel = Nothing
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Fehler"
Application.ScreenUpdating = True
End Sub