Importpfad aus Excel spalte auslesen und alle dateien im Ordner untereinander öffnen
Hallo zusammen, ich habe lange gesucht und auch hier im forum fast die perfekte antwort gefunden. Jetzt möchte ich den cod so anpassen das ich keinen fixen Pfad habe sondern das immer der Pfad aus dem Shet "Stahlmassen" F1 benutzt wird.
Hier mal der Code:
Kurz zur erklärung falls jemand auch ein einfacheres skript hat. Das Makro soll alle Dateien mit der endung .abs eines ordners untereinander in Tabelle 1 A1einfügen.
Vielen Dank vorab für eure Hilfe.
Hier mal der Code:
Sub ImportiereCSVDateien()
Const CSVPFAD = "C:\test"
Dim wbTarget As Workbook, wbSource As Workbook, ws As Worksheet, ts As Worksheet
Set fso = CreateObject("Scripting.Filesystemobject")
Set wbTarget = ActiveWorkbook
Application.DisplayAlerts = False
'Legt das CSV-Trennzeichen für die Dateien fest
strCSVDelimiter = ";"
Set fso = CreateObject("Scripting.Filesystemobject")
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Zielarbeitsblatt für die importierten Daten
Set wsTarget = Worksheets(1)
wsTarget.Name = "Zusammenfassung"
'temporäres Arbeitsblatt für den Import der Daten erstellen
Set wsTemp = Worksheets.Add(After:=Worksheets(Worksheets.Count))
'Inhalt des Zusammenfassungsblattes löschen
wsTarget.UsedRange.Clear
'Startausgabezelle festlegen
Set curCell = wsTarget.Range("A1")
For Each f In fso.GetFolder(CSVPFAD).Files
If LCase(fso.GetExtensionName(f.Name)) = "abs" Then
'Temporäres Sheet löschen
wsTemp.UsedRange.Clear
'CSV-Daten in Temporäres Sheet importieren
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & f.Path, Destination:=wsTemp.Range("$A$1"))
.Name = "import"
.FieldNames = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileOtherDelimiter = strCSVDelimiter
.Refresh BackgroundQuery:=False
.Delete
End With
With wsTemp
'Daten in Zielsheet kopieren
.UsedRange.Copy curCell
End With
'Ausgabezeile eins nach unten schieben
Set curCell = wsTarget.Cells(wsTarget.UsedRange.Rows.Count + 1, 1)
End If
Next
'Temporäres Sheet löschen
wsTemp.Delete
'Spalten anpassen
wsTarget.Columns.AutoFit
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "Vorgang beendet!", vbInformation
Set fso = Nothing
End Sub
Kurz zur erklärung falls jemand auch ein einfacheres skript hat. Das Makro soll alle Dateien mit der endung .abs eines ordners untereinander in Tabelle 1 A1einfügen.
Vielen Dank vorab für eure Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1697081908
Url: https://administrator.de/forum/importpfad-aus-excel-spalte-auslesen-und-alle-dateien-im-ordner-untereinander-oeffnen-1697081908.html
Ausgedruckt am: 14.03.2025 um 16:03 Uhr
2 Kommentare
Neuester Kommentar

das ich keinen fixen Pfad habe sondern das immer der Pfad aus dem Shet "Stahlmassen" F1 benutzt wird.
Zeile 2 ändern inDim CSVPFAD as String
CSVPFAD = Sheets("Stahlmassen").Range("F1").Value