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 Standardtools von MS 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 zum Beispiel viele Arbeitsmappen Excel und möchten diese erstellen Sammlung von Arbeitsblättern aus allen Büchern in eine Datei. Ö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 bei geöffneter Excel-Arbeitsmappe, in der Sie alle Blätter sammeln möchten, den Visual Basic Editor (Alt+F11). Modul VBA einfügen ( Insert - Module ) und kopieren Sie diesen Makrocode dorthin:

Sub CombineWorkbooks()
    'moonexcel.com.ua
    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ü ausführen Tools - Macro - Macros (Alt+F8) . 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 Zeile unseres Makrocodes vornehmen.

Artikel zum Thema: