mein Ziel:
Ich hätte gerne dass beim Öffnen einer Mappe die Unterordnernamen des Ordners "Daten" in Excel in einer Spalte eingelesen werden. Dabei will ich nur die 1.Ebene angezeigt haben. Unterordner von Unterordnern sollen nicht angezeigt werden.
Ich habe bereits ein Makro das so was ähnliches mit einer Abfrage macht, allerdings gibt dieser Code alles aus, inkl. allen Unterordnern. Das dauert aber viel zu lange und ist unnötig.
Public Sub OrdnerListen_Start()
Dim fso As Object
Dim strPfad As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Start-Verzeichnis wählen"
.ButtonName = "übernehmen"
If .Show > -1 Then Exit Sub
strPfad = .SelectedItems(1)
End With
With ActiveSheet
.UsedRange.ClearContents
Set fso = CreateObject("Scripting.FileSystemObject")
Call OrdnerListen(fso, strPfad, .Range("A2")) ' Pfad anpassen!
Set fso = Nothing
End With
End Sub
Private Sub OrdnerListen(fso As Object, Ordnerangabe As String, rng As Range, Optional Zeile As Long, Optional Spalte As Long)
Dim o, uo
Set o = fso.GetFolder(Ordnerangabe)
rng.Offset(Zeile, Spalte).Value = o.Name
Zeile = Zeile + 1
For Each uo In o.SubFolders
Spalte = Spalte + 1
Call OrdnerListen(fso, uo.Path, rng, Zeile, Spalte)
Spalte = Spalte - 1
Next
Set o = Nothing
Set uo = Nothing
End Sub
Hätte hier jemand eine Lösung oder kann den obigen Code so anpassen dass nur die 1.Ebene ausgelesen und angezeigt wird.
Vielen Dank und Gruß
Alex