Wissen, wie man Excel-Dateien aus mehreren Ordnern mit Visual Basic für Applikationen ( VBA) können Sie Zeit sparen , wenn Sie Ihren Computer für Excel-Dateien suchen, um sie in einem Ordner speichern müssen extrahieren. VBA kann in Microsoft Office-Anwendungen wie Excel , Routineaufgaben wie die Suche nach Dateien in Ordnern automatisieren verwendet werden. Der beste Weg, um Dateien in verschiedenen Ordnern zu suchen , ist die Verwendung rekursive Programmierung. Rekursive Programmierung verwendet wird , wenn Sie eine Funktion, um sich innerhalb der Funktion aufrufen müssen . Things You 
 Microsoft Office 
 brauchen anzeigen Weitere Anweisungen 
 1 
 Starten Sie Microsoft Office Excel , klicken Sie auf " Entwickler ", und klicken Sie auf " Visual Basic ", um den VB Editor starten . Klicken Sie auf das Menü "Einfügen" und klicken Sie auf "Module" , um einen neuen Code-Modul einfügen 
 2 
 Geben Sie den folgenden , um eine neue Sub- Prozedur zu erstellen : . 
 
 Dim colFiles Wie New Collection 
 3 
 Kopieren Sie den folgenden Ihre Variablen zu erstellen : 
 
 Dim extractPath As String 
 
 Dim Dateiname As String Dim 
 
 pos As Integer 
 4 
 Definieren Sie den Pfad , wo Sie wollen , um die Excel-Dateien gefunden kopieren : 
 
 extractPath = "C: \\ Temp \\ " 
 5 
 Fügen Sie den folgenden Code, um die Funktion, die die Excel-Dateien für die Extraktion finden anrufen: 
 
 RecursiveDir colFiles , "F: \\ moreExcelFiles \\ ", " . * xlsx ", True 
 6 < p> Fügen Sie den folgenden Code, um die gefundenen Dateien auf den Pfad in Schritt 3 definierten kopieren : 
 
 Dim vFile As Variant 
 
 For Each vFile in colFiles 
 
 pos = InStrRev ( vFile , "\\" , vbTextCompare ) 
 
 filename = Right ( vFile , Len ( vFile ) - pos) 
 
 FileCopy vFile , extractPath & fileName 
 
 Weiter vFile 
 
 End sub 
 7 
 Definieren Sie den " RecursiveDir "-Funktion , um die Ordner und Unterordner für Excel -Dateien zu suchen : 
 
 Public Function RecursiveDir ( colFiles Wie Collection, _ 
 
 strFolder As String , _ 
 
 strFileSpec As String , _ 
 
 bIncludeSubfolders As Boolean ) Dim 
 
 strTemp As String Dim 
 
 colFolders Wie Neue Kollektion 
 
 Dim vFolderName As Variant 
 
 strFolder = TrailingSlash ( strFolder ) 
 
 strTemp = Dir ( strFolder & strFileSpec ) 
 
 Do While strTemp <> ; vbNullString 
 
 colFiles.Add strFolder & strTemp 
 
 strTemp = Dir 
 
 Schleife 
 
 Wenn bIncludeSubfolders Dann 
 
 strTemp = Dir ( strFolder , vbDirectory ) 
 
 Do While strTemp <> vbNullString 
 
 ( strTemp <> " . ") und ( strTemp <> " .. ") Then 
 
 ( GetAttr ( strFolder & strTemp ) und vbDirectory ) < > 0 Then 
 
 colFolders.Add strTemp 
 
 End If End If 
 
 
 < p> strTemp = Dir 
 
 Schleife 
 
 For Each vFolderName In colFolders 
 
 Anruf RecursiveDir ( colFiles , strFolder & vFolderName , strFileSpec , True) 
 
 Weiter vFolderName 
 
 End If End Function 
 
 
 8 
 erstellen Sie die folgende Funktion hinzufügen oder entfernen Sie den "\\" aus dem Ordner Pfade : 
 
 öffentlichen Funktion TrailingSlash ( strFolder As String ) As String 
 
 Wenn Len ( strFolder ) > 0 Then 
 
 Wenn Right ( strFolder , 1) = "\\" Dann 
 
 TrailingSlash = strFolder 
 
 Else 
 
 TrailingSlash = strFolder & "\\" 
 
 End If End If 
 
 
 
 End Function 
 < br > 9 
 klicken Sie in die " extractExcelFiles " sub- Verfahren und klicken Sie auf " F5 ", um das Programm auszuführen.