Hallo liebe Forumsgemeinde, ich hab mal wieder eine Frage.![Roll eyes :rolleyes: :rolleyes:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f644.png)
Ich benutze momentan folgenden Code um alle Tabellen aus einen bestimmten Ordner in einer neuen Datei zusammenzufassen.
Der aktuelle Code kopiert die Tabellen ab Zeile 1 und fügt alle zusammengefasst in Zeile 1 im neuen Dokument zusammen.
Die zu importierenden Dateien sollen ab Zeile 2 kopiert werden und ab Zeile 2 eingefügt werden, da ich in dem zusammengeführten Dokument mit einer Wiederholungszeile arbeite.
Und ob und falls ja, wie es möglich ist, die zu importierenden Daten aus dem Ordner auszuwählen, anstatt gleich alle zu importieren?
Vielleicht hat ja einer eine Idee oder eine Lösung dazu.
Viele Grüße
Thorsten
![Roll eyes :rolleyes: :rolleyes:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f644.png)
Ich benutze momentan folgenden Code um alle Tabellen aus einen bestimmten Ordner in einer neuen Datei zusammenzufassen.
Code:
Sub MWTabellenAusMehrerenDateienEinlesen()
Dim oTargetSheet As Object
Dim oSourceBook As Object
Dim sPfad As String
Dim sDatei As String
Dim lErgebnisZeile As Long
Dim s As Long
Dim z As Long
Application.ScreenUpdating = False 'Das "Flackern" ausstellen
'Schritt 1: Neues Arbeitsblatt für die Ergebnisse erstellen
Set oTargetSheet = ActiveWorkbook.ActiveSheet
lErgebnisZeile = 1 'Ergebnisse eintragen ab Zeile 1
'Schritt 2: Schleife über alle Excel Dateien in einem Verzeichnis
sPfad = "C:\test3\"
sDatei = Dir(CStr(sPfad & "*.xl*")) 'Alle Excel Dateien
Do While sDatei <> ""
'Schritt 3: öffnen der Datei und Datenübertragung
Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) 'nur lesend öffnen
'Datenübertragung alle genutzten Zeilen und Spalten
For z = 1 To oSourceBook.Sheets("Tabelle1").UsedRange.Rows.Count
'Keine Leerzeilen verarbeiten
If Trim(CStr(oSourceBook.Sheets("Tabelle1").Cells(z, 1).Value)) <> "" Then
For s = 1 To oSourceBook.Sheets("Tabelle1").UsedRange.Columns.Count
'Spalte 2 bis n - Tabelleninhalte des Arbeitsblattes "Tabelle1"
oTargetSheet.Cells(lErgebnisZeile, s).Value = _
oSourceBook.Sheets("Tabelle1").Cells(z, s).Value
Next s
lErgebnisZeile = lErgebnisZeile + 1
End If
Next z
'Schritt 4: Datei wieder zu machen und nächste Schleifenrunde
oSourceBook.Close False 'nicht speichern
'Nächste Datei
sDatei = Dir()
Loop
Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
'Variablen aufräumen
Set oTargetSheet = Nothing
Set oSourceBook = Nothing
End Sub
Der aktuelle Code kopiert die Tabellen ab Zeile 1 und fügt alle zusammengefasst in Zeile 1 im neuen Dokument zusammen.
Die zu importierenden Dateien sollen ab Zeile 2 kopiert werden und ab Zeile 2 eingefügt werden, da ich in dem zusammengeführten Dokument mit einer Wiederholungszeile arbeite.
Und ob und falls ja, wie es möglich ist, die zu importierenden Daten aus dem Ordner auszuwählen, anstatt gleich alle zu importieren?
Vielleicht hat ja einer eine Idee oder eine Lösung dazu.
Viele Grüße
Thorsten