Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Recursiver Aufruf sehr langsam |
02.09.2022 08:30:13 |
Reinhard |
|
|
|
02.09.2022 10:10:50 |
Mase |
|
|
|
02.09.2022 10:17:08 |
Mase |
|
|
|
02.09.2022 11:25:04 |
Gast83275 |
|
|
|
02.09.2022 12:24:52 |
Mase |
|
|
|
02.09.2022 11:06:11 |
volti |
|
|
|
02.09.2022 11:40:40 |
Reinhard |
|
|
Von:
Reinhard |
Datum:
02.09.2022 08:30:13 |
Views:
859 |
Rating:
|
Antwort:
|
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
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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
|
Recursiver Aufruf sehr langsam |
02.09.2022 08:30:13 |
Reinhard |
|
|
|
02.09.2022 10:10:50 |
Mase |
|
|
|
02.09.2022 10:17:08 |
Mase |
|
|
|
02.09.2022 11:25:04 |
Gast83275 |
|
|
|
02.09.2022 12:24:52 |
Mase |
|
|
|
02.09.2022 11:06:11 |
volti |
|
|
|
02.09.2022 11:40:40 |
Reinhard |
|
|