VBA: Alle Excel-Dateien eines Ordners verwenden

Da kam mal einer an und sagte: Kannste mir nicht mal eben … bla bla bla … mit allen Excel-Dateien, die ich hier im Ordner habe? Ja sicher, war meine Antwort. Nach etwas Suche und Staub wegniesen habe ich es dann gefunden: Excel! Ja, es war tatsächlich noch vorhanden. Also schnell mal die VBA-Kenntnisse aus den Ecken ins Licht gezerrt und los ging es.

Sicher, das ist eine Aufgabe, die immer wieder mal vorkommt. Und genau deshalb schreibe ich mir dieses einmal hier auf, für den Fall … man weiß ja nie. Und wenn ich damit noch dem einen oder anderen etwas helfen kann, ist das umso besser.

Hier ist also die Lösung.

Vorbereitung:

  1. VBA-Editor in Excel aufrufen.
  2. Aktivierung der benötigten Bibliothek. Menü „Extras“, „Verweise“. Eintrag „Windows Script Host Object Model“ ankreuzen. That’s it.

Code – Teil 1: Ordner auf Existenz überprüfen und Teil 2 starten

Sub SearchFiles()
   Dim path As String
   Dim fso As FileSystemObject
   Dim baseFolder As folder
   path = "D:\Ordner"
   Set fso = New FileSystemObject
   If (Not (fso.FolderExists(path))) Then
      MsgBox (path & " does not exist")
   End If
   Set baseFolder = fso.GetFolder(path)
   UseFolder baseFolder
End Sub

Code – Teil 2: Unterordner durchlaufen, mit Excel-Dateien Teil 3 starten

Sub UseFolder(baseFolder As folder)
   Dim aFolder As folder
   Dim aFile As file
   For Each aFolder In baseFolder.SubFolders
      UseFolder aFolder
   Next aFolder
   For Each aFile In baseFolder.Files
      If (Right(aFile.path, 3) = "xls") Then
         Call OpenWorkbook(aFile)
      End If
   Next aFile
End Sub

Code – Teil 3: Excel-Datei verwenden am Beispiel Datei öffnen

Sub OpenWorkbook(wb_file As file)
   Application.Workbooks.Open (wb_file.path)
   MsgBox (wb_file)
End Sub
Thumbnails powered by Thumbshots