Ordnerauflistung unsortiert
10.03.2022 17:15:05
Andreas
ich suche eine kleine Hilfestellung. Mit unten stehendem Code durchsuche ich verschiedene Ordner (2016,2017,2018....). Alle Dateien in diesen Ordner
werden in einer Liste angezeigt. Die Dateinamen beginnen immer mit der Jahreszahl, d.h. für z.B. 2016 lautet die erste Datei 1601 für 2017 dann 1701 usw.
Bis dato wurde die Liste auch immer korrekt dargestellt, d.h. in Reihenfolge 1601,1602,1603,1604 etc.. Seit gestern jedoch würfelt er die Dateien in der Listbox
durcheinander. Die Dateien in den jeweiligen Ordner sind auch nach Name sortiert.
Gibt es hier eine Lösung die Dateien nochmals bei auslesen zu sortieren?
Danke
Option Explicit
Private Sub CommandButton1_Click()
Dim objWorkbook As Workbook
Dim lngIndex As Long
Call Hide
Application.ScreenUpdating = False
For lngIndex = 0 To ListBox1.ListCount - 1
With ListBox1
If .Selected(pvargIndex:=lngIndex) Then
Set objWorkbook = Workbooks.Open(Filename:= _
.List(pvargIndex:=lngIndex, pvargColumn:=1) & _
.List(pvargIndex:=lngIndex, pvargColumn:=0))
With objWorkbook
Call .Worksheets(.Worksheets.Count).Select
Application.Run ("'" & .Name & "'!Daten_holen_Bewertung_Vorjahre")
'Call Run(Macro:=.Name & "!NeuesBlatt")
Call .Worksheets(.Worksheets.Count).PrintOut
Call .Close(SaveChanges:=True)
End With
End If
End With
Next
Application.ScreenUpdating = True
MsgBox "Fertig !"
CommandButton2.Value = True
End Sub
Private Sub CommandButton2_Click()
Call Unload(Object:=Me)
End Sub
Private Sub UserForm_Initialize()
Const FOLDER_PATH As String = "\\NAS-2T\Bau\Projekte\Verschoben auf Server\0005 Baustellenbewertungen\" 'anpassen !!!
Dim lngYear As Long
Dim strFileName As String
For lngYear = 2016 To 2030
strFileName = Dir$(PathName:=FOLDER_PATH & CStr(lngYear) & "\*.xlsm")
Do Until strFileName = vbNullString
With ListBox1
Call .AddItem(pvargItem:=strFileName)
.List(.ListCount - 1, 1) = FOLDER_PATH & CStr(lngYear) & "\"
.Selected(pvargIndex:=.ListCount - 1) = False
End With
strFileName = Dir$
Loop
Next
End Sub