Thema Datum  Von Nutzer Rating
Antwort
02.09.2022 08:30:13 Reinhard
NotSolved
Blau Recursiver Aufruf sehr langsam
02.09.2022 10:10:50 Mase
NotSolved
02.09.2022 10:17:08 Mase
NotSolved
02.09.2022 11:25:04 Gast83275
NotSolved
02.09.2022 12:24:52 Mase
NotSolved
02.09.2022 11:06:11 volti
NotSolved
02.09.2022 11:40:40 Reinhard
NotSolved

Ansicht des Beitrags:
Von:
Mase
Datum:
02.09.2022 10:10:50
Views:
391
Rating: Antwort:
  Ja
Thema:
Recursiver Aufruf sehr langsam

Hallo Reinhard,

ohne Deinen Code grossartig zu verändern und Deiner Programmlogik treu geblieben, benötigt diese Fassung bei ~5800 Ordner knapp 3sekunden.

 

Sub MainList()
    
    Dim folder
    Dim xDir
    
    Worksheets(1).UsedRange.ClearContents
    Application.ScreenUpdating = False
    
    Set folder = Application.FileDialog(msoFileDialogFolderPicker)
    
    If folder.Show <> -1 Then Exit Sub
    xDir = folder.SelectedItems(1)
    
    Call ListFilesInFolder(xDir)
    ActiveSheet.UsedRange.EntireColumn.AutoFit
    Application.ScreenUpdating = True

End Sub

Sub ListFilesInFolder(ByVal xFolderName As String)
    
    Dim xFileSystemObject As Object
    Dim xFolder As Object
    Dim xSubFolder As Object
    Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
    Set xFolder = xFileSystemObject.GetFolder(xFolderName)
    
    For Each xSubFolder In xFolder.SubFolders
        With Application.ActiveSheet
            .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = xSubFolder.Name
        End With
        ListFilesInFolder xSubFolder.Path
    Next xSubFolder
    
    Set xFolder = Nothing
    Set xFileSystemObject = Nothing
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
02.09.2022 08:30:13 Reinhard
NotSolved
Blau Recursiver Aufruf sehr langsam
02.09.2022 10:10:50 Mase
NotSolved
02.09.2022 10:17:08 Mase
NotSolved
02.09.2022 11:25:04 Gast83275
NotSolved
02.09.2022 12:24:52 Mase
NotSolved
02.09.2022 11:06:11 volti
NotSolved
02.09.2022 11:40:40 Reinhard
NotSolved