Thema Datum  Von Nutzer Rating
Antwort
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
Rot Versuch mal:
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 12:24:52
Views:
367
Rating: Antwort:
  Ja
Thema:
Versuch mal:
Option Explicit

Private lCalc               As Long
Private lStatusbar          As Long
Private lEvent              As Long
Private lScreen             As Long
Private xFileSystemObject   As Object




Sub MainList()
     
    Dim folder              As Variant
    Dim xDir                As Variant
     
    ThisWorkbook.Worksheets(1).Cells.ClearContents
    Set folder = Application.FileDialog(msoFileDialogFolderPicker)
     
    If folder.Show <> -1 Then Exit Sub
        Call TurnOffFunctionality
            
            xDir = folder.SelectedItems(1)
                Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
                    Call ListFilesInFolder(xDir)
                        ActiveSheet.UsedRange.EntireColumn.AutoFit
    
        Call TurnOnFunctionality
 
 
 
    Set xFileSystemObject = Nothing
End Sub
 
Sub ListFilesInFolder(ByVal xFolderName As String)
     

    Dim xFolder             As Object
    Dim xSubFolder          As Object
    
    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

End Sub

Public Sub TurnOffFunctionality()
    With Application
        lCalc = .Calculation: .Calculation = xlCalculationManual
        lStatusbar = .DisplayStatusBar: .DisplayStatusBar = False
        lEvent = .EnableEvents: .EnableEvents = False
        lScreen = .ScreenUpdating: .ScreenUpdating = False
    End With
End Sub
Public Sub TurnOnFunctionality()
    With Application
        .Calculation = lCalc
        .DisplayStatusBar = lStatusbar
        .EnableEvents = lEvent
        .ScreenUpdating = lScreen
    End With
End Sub

 

 

Und beobachte den Taskmanager, ob es Prozesse gibt (bspw: Virenscanner) die zum EXCEL-Prozess beachtlich CPU-Zeit für sich beanspruchen.

 


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
02.09.2022 10:10:50 Mase
NotSolved
02.09.2022 10:17:08 Mase
NotSolved
02.09.2022 11:25:04 Gast83275
NotSolved
Rot Versuch mal:
02.09.2022 12:24:52 Mase
NotSolved
02.09.2022 11:06:11 volti
NotSolved
02.09.2022 11:40:40 Reinhard
NotSolved