Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierung eingelesene Ordnerstruktur

Sortierung eingelesene Ordnerstruktur
04.03.2020 16:20:58
Turbo
Hallo Zusammen,
mittels eines Makros wird eine Ordnerstruktur inklusive aller Unterordner eingelesen und in Excel abgebildet. Prinzipiell funktioniert das auch prima ABER Excel sortiert ja bekanntermaßen die Zahlen falsch.
Beispiel in verkürzter Form:
1_1_1
1_1_10
1_1_2
Gibt es eine Möglichkeit Excel dazu zu bringen, beim einlesen die Struktur so zu belassen wie sie im Windows Explorer angezeit wird.
1_1_1
1_1_2
1_1_10
Das einfachste wäre sicher den einstelligen Zahlen eine 0 voranzustellen aber das ist leider keine gute Lösung, da die Bezeichnungen in der Schreibweise verbleiben müssen.
Vielleicht gibt es ja doch eine Lösung.

Option Explicit
Dim fso As Object
Public Sub OrdnerListen_Start()
Set fso = CreateObject("Scripting.FileSystemObject")
ActiveSheet.UsedRange.ClearContents
ListFolders "D:\Test", ActiveSheet.Range("A1")
End Sub
Sub ListFolders(ByVal Path As Variant, ByRef c As Range)
Dim p
If Not IsObject(Path) Then Set Path = fso.GetFolder(Path)  'string to object
c.Value = Path.Name
Set c = c.Offset(1, 1)
For Each p In OrderedList(Path.SubFolders)
ListFolders p, c
Next
Set c = c.Offset(0, -1)
End Sub
Function OrderedList(ByVal List As Object) As Collection
Dim coll As New Collection, p1 As Variant, i As Integer
For Each p1 In List
If coll.Count 
Grüße

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierung eingelesene Ordnerstruktur
04.03.2020 17:19:22
onur
"ABER Excel sortiert ja bekanntermaßen die Zahlen falsch" - Weil es KEINE Zahlen sind, sondern nur Text.
AW: Sortierung eingelesene Ordnerstruktur
04.03.2020 18:15:15
Turbo
Das war unglücklich formuliert. Es ist Text, natürlich.
Gibt es vlt eine Möglichkeit, da die Probleme ja nur bei den einstelligen "Zahlen" auftreten, beim einlesen den einstelligen "Zahlen" einen Alias zu verpassen, nach dem Motto, wenn eine 1, dann verwende 01, mit diesem dann das einlesen durchführen und bei der Ausgabe das Original wieder zuweisen. Klingt abenteuerlich aber ich bin leider kein Programmierer und weiß daher nicht wie so etwas umzusetzen wäre.
Grüße
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige