ich habe ein kleines Problem. Ich habe mir ein kleines Programm geschrieben mit der alle Dateienamen aus einem Verzeichnis ausgelesen werden und dann untereinander in ein Tabellenblatt einsortiert werden. Zusätzlich wird beim Wechsel des Anfangsbuchstabens dieser eine Spalte davor geschrieben. Das Problem ist nun, dass die Dateinamen zwar weitestgehend alphabetisch sortiert eingelesen werden, aber eben nur weitestgehend (Siehe Screenshot). Aus irgendeinem mir nicht begreiflichen Grund wird die Datei "Science Fiction .." immer an den Anfang gestellt. Weitere 3 Dateien lassen sich ebenfalls nicht einsortieren. Ich weiß nicht woran das liegt. Weiß jemand von euch, welche Reihenfolge-Kriterien die DIR()-Funktion benutzt.
Tausend Dank schon einmal!!
Viele Grüße
Christian
QUELLCODE:
Sub Dateiliste()
' Dateiliste für ein Verzeichnis ohne Unterverzeichnisse
Dim strVerzeichnis As String
Dim StrDatei As String
Dim I As Integer
Dim Help As String
Dim StrTyp As String
Dim Dateiname As String
Dim anfang As String
Columns("A:A").Select
Selection.ClearContents
strVerzeichnis = "C:\Dokumente und Einstellungen\Christian\Desktop\Noten\Liederbuch\"
StrTyp = "*.doc"
Dateiname = Dir(strVerzeichnis & StrTyp)
I = 3
Do While Dateiname ""
Dateiname = Left(Dateiname, Len(Dateiname) - 4)
anfang = Left(Dateiname, 1)
If I = 3 Then
Cells(I, 1).Value = anfang
Else
If anfang Help Then
Cells(I, 1).Value = anfang
End If
End If
Help = anfang
Cells(I, 2).Value = Dateiname
I = I + 1
Dateiname = Dir
Loop
Range("A1").Select
End Sub
SCREENSHOT: