Wie führt man ein Makro gleichzeitig in mehreren Arbeitsmappen aus?
Der Umgang mit mehreren Excel-Arbeitsmappe erfordert häufig die wiederholte Durchführung derselben Operation oder Automatisierungsaufgabe über mehrere Dateien hinweg. Jede Arbeitsmappe einzeln zu öffnen, um ein Makro auszuführen, kostet nicht nur viel Zeit, sondern erhöht auch das Fehlerrisiko – insbesondere bei großen Dateibatches. Die Automatisierung dieses Prozesses ist daher entscheidend für mehr Produktivität und Genauigkeit.
Mithilfe von VBA (Visual Basic for Applications) können Sie Ihren Arbeitsablauf optimieren, um ein Makro automatisch für jede Arbeitsmappe in einem festgelegten Ordner auszuführen – was Aufwand spart und Konsistenz gewährleistet. Diese Anleitung beschreibt, wie Sie eine VBA-Lösung einrichten und verwenden, um Ihr gewünschtes Makro über mehrere Arbeitsmappendateien hinweg auszuführen, ohne jede Datei manuell öffnen zu müssen.
Typische Anwendungsszenarien für diesen Ansatz sind:
- Formatierungen oder Berechnungen auf eine Sammlung monatlicher Berichte anwenden
- Datenbereinigungsschritte über mehrere Datendateien hinweg standardisieren
- Vorlagen stapelweise aktualisieren oder Strukturen in älteren Dateien hinzufügen
Führen Sie dasselbe Makro mithilfe von VBA-Code in mehreren Arbeitsmappen aus
Um dasselbe Makro effizient in mehreren Arbeitsmappen auszuführen, ohne jede einzeln öffnen zu müssen, können Sie ein VBA-Skript für Stapelverarbeitung nutzen. Dieses fordert Sie auf, einen Ordner auszuwählen, und verarbeitet anschließend automatisch alle darin enthaltenen Arbeitsmappendateien – ideal für die meisten gängigen Makroautomatisierungsaufgaben.
Vorbereitung:
- Alle Zielarbeitsmappen sind geschlossen – das Skript öffnet und verarbeitet sie bei Bedarf automatisch.
- Das Makro, das Sie ausführen möchten, erfordert keine Benutzerinteraktion – wie etwa Meldungsfelder oder Eingabeaufforderungen –, da diese die Stapelverarbeitung unterbrechen würden.
- Sie haben Ihre Arbeit gespeichert, da die Makrostapelverarbeitung nicht einfach rückgängig gemacht werden kann und unter Umständen Daten überschreibt, wenn der Code nicht sorgfältig erstellt wurde.
Gehen Sie wie folgt vor, um ein Makro auf mehrere Arbeitsmappen anzuwenden:
1. Drücken Sie gleichzeitig die Tasten „ALT + F11“, um das Fenster „Microsoft Visual Basic for Applications“ zu öffnen.
2. Klicken Sie im geöffneten VBA-Editor auf „Einfügen“ > „Modul“, um ein neues Modul zu erstellen, und fügen Sie das bereitgestellte Makro anschließend in das leere Modulfenster ein.
VBA-Code: Führen Sie dasselbe Makro gleichzeitig in mehreren Arbeitsmappen aus:
Sub LoopThroughFiles()
Dim xFd As FileDialog
Dim xFdItem As Variant
Dim xFileName As String
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
If xFd.Show = -1 Then
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Do While xFileName <> ""
With Workbooks.Open(xFdItem & xFileName)
'your code here
End With
xFileName = Dir
Loop
End If
End Sub
Wichtige Hinweise und Tipps:
- Suchen Sie im obigen Code die Zeile
With Workbooks.Open(xFdItem & xFileName). Kopieren Sie Ihren gewünschten Makrocode (ohne die zugehörigen)Sub- undEnd Sub-Zeilen) und fügen Sie ihn zwischen diese Zeile undEnd Withein. So wird die Aktion in jeder geöffneten Arbeitsmappe ausgeführt. - Überprüfen Sie Ihre Makrologik und die Pfade sorgfältig, um eine fehlerfreie Stapelverarbeitung sicherzustellen, und testen Sie das Makro zunächst an einer kleinen Dateimenge, falls es Datenänderungen vornimmt.
Siehe Screenshot zur Verdeutlichung, wo Ihr Makrocode eingefügt werden muss:

3. Drücken Sie im VBA-Editor die Taste „F5“, um das Skript auszuführen – es öffnet sich ein Ordnerauswahldialog.
4. Wählen Sie im Fenster „Durchsuchen“ den Ordner aus, der alle zu verarbeitenden Arbeitsmappen enthält. Das Skript durchläuft jede Excel-Datei an diesem Speicherort und führt Ihren Makrocode aus.

5. Klicken Sie auf „OK“, um die Stapelverarbeitung zu starten. Der von Ihnen hinzugefügte Makroteil wird in allen ausgewählten Arbeitsmappen des gewählten Ordners ausgeführt. Je nach Komplexität Ihres Makros und der Anzahl der Dateien kann die Verarbeitung größerer Batches mehr Zeit in Anspruch nehmen.
- Makrosicherheit: Aktivieren Sie gegebenenfalls Makros, oder führen Sie das Skript aus einem vertrauenswürdigen Speicherort aus.
- Zieldateityp: Das Muster
*.xls*umfasst.xlsx,.xlsmund.xlsb. Passen Sie es gegebenenfalls an. - Vollständige Qualifizierung innerhalb von „With“:Verwenden Sie führende Punkte (z. B.)
.Worksheets("Tabelle1")), damit Aktionen auf die geöffnete Arbeitsmappe angewendet werden.
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...
Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
- Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!
Alle Kutools-Add-Ins – ein Installationsprogramm
Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.
- Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
- Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
- Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
- 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
- Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins