Thema Datum  Von Nutzer Rating
Antwort
Rot Recursiver Aufruf sehr langsam
02.09.2022 08:30:13 Reinhard
NotSolved
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:
Reinhard
Datum:
02.09.2022 08:30:13
Views:
684
Rating: Antwort:
  Ja
Thema:
Recursiver Aufruf sehr langsam

Liebe community,

ich habe ein kurzes Codesegment geschrieben um mir von einem Verzeichnis alle Unterordnernamen in ein Tabellenblatt schreiben zu lassen.
Mir ist keine andere sinnvolle Möglichkeit eingefallen, als die Funktion welche ausliest und ins Tabellenblatt schreibt, rekursiv aufzurufen.
Für knappe 1300 Elemente dauert das fast 5min was mich doch sehr wundert.
Das Ergbnis dient zum bereinigen von Verzeichnisstrukturen die damit in Excel schön betrachtet werden können.

Hat jemand eine Lösung wie ich das beschleunigen kann?

Beste Grüße

 

Sub MainList()
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, 1)
ActiveSheet.UsedRange.EntireColumn.AutoFit
Application.ScreenUpdating = True

End Sub

Sub ListFilesInFolder(ByVal xFolderName As String, ByVal Spalte As Integer)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Oabject
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)

For Each xSubFolder In xFolder.SubFolders
    letztezeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
    Application.ActiveSheet.Cells(letztezeile, Spalte).Formula = xSubFolder.Name
    ListFilesInFolder xSubFolder.Path, Spalte + 1
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
Rot Recursiver Aufruf sehr langsam
02.09.2022 08:30:13 Reinhard
NotSolved
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