TOP

Sammlung von Arbeitsblättern

Beschreibung

Manchmal müssen wir Blätter aus verschiedenen Excel-Arbeitsmappen kombinieren, um einen neuen Bericht oder eine konsolidierte Datendatei zu erstellen. Ein solcher Vorgang kann manuell mit Standard-MS-Tools Excel durchgeführt werden, kann jedoch viel Zeit und Mühe kosten. Überlegen wir, wie wir diesen Prozess automatisieren und die Arbeit mit Berichten beschleunigen können.

Wir haben beispielsweise viele Arbeitsmappen Excel und möchten Arbeitsblätter aus allen Arbeitsmappen in einer Datei sammeln. Öffnen Sie dazu die Arbeitsmappe, in der Sie alle Blätter sammeln möchten, und fügen Sie den folgenden Makrocode hinzu.


VBA-Code für das Makro

Öffnen Sie in der geöffneten Arbeitsmappe Excel, in der Sie alle Blätter sammeln möchten, Visual Basic Editor (Alt+F11), fügen Sie das VBA-Modul (Insert - Module) hinzu und Kopieren Sie dieses Code-Makro dorthin:

Sub CombineWorkbooks()
    Dim FilesToOpen
    Dim x As Integer
    
    On Error GoTo ErrHandler
    Application.ScreenUpdating = False
    
    FilesToOpen = Application.GetOpenFilename _
                  (FileFilter:="Microsoft Excel Files (*.xls), *.xls", _
                   MultiSelect:=True, Title:="Files to Merge")
                   
    If TypeName(FilesToOpen) = "Boolean" Then
        MsgBox "Es wurde keine Datei ausgewählt!"
        GoTo ExitHandler
    End If
    
    x = 1
    While x <= UBound(FilesToOpen)
        Workbooks.Open Filename:=FilesToOpen(x)
        Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
        x = x + 1
    Wend
    
    ExitHandler:
    Application.ScreenUpdating = True
    Exit Sub
    
    ErrHandler:
    MsgBox Err.Description
    Resume ExitHandler
    
End Sub

Danach können Sie zu Excel zurückkehren und unser Makro über das Menü Tools - Macro - Macros (Alt+F8) ausführen. Es erscheint ein Dialogfeld, in dem Sie (bei gedrückter Strg-Taste) eine oder mehrere Dateien auswählen müssen, deren Blätter wir zur aktuellen Arbeitsmappe hinzufügen möchten.

Wenn Sie eine andere Excel-Dateierweiterung verwenden (z. B. *.xlsx, *.xlsm, *.xlsb usw.), müssen Sie die entsprechenden Änderungen an der neunten Codezeile in unserem Makro vornehmen.

Artikel zum Thema:

  • Arbeitsblätter in einem Buch sortieren
  • Schneller Wechsel zwischen Arbeitsblättern