AW: und ein Tipp ohne Power Query ?
12.04.2025 20:35:27
Jowe
Hallo,
hier ein Makro sowie eine Funktion die vom Makro aus gestartet wird (beides in neues Modul einfügen!) .
Beides zusammen (nach Start der Sub) listet alle Dateien eines zuvor festzulegenden Ordners auf.
Den Ausdruck der dann gefüllten Tabelle wirst Du wohl schaffen :=)
Option Explicit
Public Sub Explorer_Dateien_kopieren()
Dim Datei As String
ActiveSheet.Range("A2:E" & Rows.Count).ClearContents
Datei = Dir(GetFolder("G:\") & "*.*")
Do While Datei > ""
ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Datei
Datei = Dir
Loop
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add2 Key:=Range( _
"A:A"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange Range("A:A")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy _
Destination:=Range("B2")
Application.CutCopyMode = False
Range("B2:B9999").TextToColumns Destination:=Range("B2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:=".", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
Columns("B:E").EntireColumn.AutoFit
Range("A1").Select
End Sub
Function GetFolder(Optional StartVerzeichnis As String = "C:") As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.InitialFileName = StartVerzeichnis '== Startordner
.Show
If .SelectedItems.Count > 0 Then GetFolder = .SelectedItems(1) & IIf(Right(.SelectedItems(1), 1) = "\", "", "\")
End With
Range("A1").Value = "Elemente in Ordner " & GetFolder
End Function
Gruß
Jochen