So kombinieren Sie mehrere Excel-Dateien in einer Excel-Arbeitsmappe

Ich erhielt einen Anruf von einem Freund, der mehrere Excel-Dateien in einer Excel-Arbeitsmappe kombinieren wollte. Er hatte viele Dateien in einem Ordner und wollte alle Arbeitsblätter aus allen Arbeitsmappen in einer einzigen Arbeitsmappe zusammenfassen.

Dies kann zwar manuell erfolgen, wäre jedoch zeitaufwändig und fehleranfällig.

Ein einfacher VBA-Code kann dies jedoch in wenigen Sekunden tun.

Kombinieren Sie mehrere Excel-Dateien in einer Datei

Hier ist der Code, der mehrere Excel-Arbeitsmappen in einem angegebenen Ordner in einer einzigen Excel-Arbeitsmappe kombinieren kann:

Sub ConslidateWorkbooks() 'Erstellt von Sumit Bansal von https://trumpexcel.com Dim FolderPath As String Dim Filename As String Dim Sheet As Worksheet Application.ScreenUpdating = False FolderPath = Environ("userprofile") & "DesktopTest" Filename = Dir( FolderPath & "*.xls*") Do While Filename "" Workbooks.Open Filename:=FolderPath & Filename, ReadOnly:=Wahr für jedes Blatt in ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Nächstes Blatt Arbeitsmappen (Dateiname).Close Filename = Dir() Loop Application.ScreenUpdating = True End Sub

Wie verwende ich diesen Code?

Hier sind die Schritte, um diesen Code zu verwenden:

  • Legen Sie alle Excel-Dateien, die Sie kombinieren möchten, in einen Ordner. Für dieses Tutorial habe ich einen Ordner namens Test erstellt und habe darin sechs Dateien (4 Excel-Arbeitsmappen und jeweils 1 Power Point und Word).
  • Öffnen Sie eine neue Excel-Arbeitsmappe.
  • Drücken Sie ALT + F11 (oder gehen Sie zu Entwickler -> Code -> Visual Basic). Dadurch wird der Visual Basic-Editor geöffnet.
  • Klicken Sie im VB-Editor im Projekteditor mit der rechten Maustaste auf eines der Objekte für die Arbeitsmappe und gehen Sie zu Einfügen -> Modul. Dadurch wird ein Modul für die Arbeitsmappe eingefügt.
  • Doppelklicken Sie auf das Modul. Es öffnet sich das Codefenster auf der rechten Seite.
  • Kopieren Sie den obigen Code und fügen Sie ihn in das Codefenster ein.
  • Im Code müssen Sie die folgende Codezeile ändern:
    FolderPath = Environ("Benutzerprofil") & "DesktopTest"

    Ändern Sie in dieser Zeile den Teil in doppelten Anführungszeichen (orange hervorgehoben) durch den Speicherort des Ordners, in dem sich die Dateien befinden, die Sie kombinieren möchten. Im oben verwendeten Code befindet sich der Ordner auf dem Desktop. Falls Sie es an einem anderen Ort haben, geben Sie diesen Pfad hier an.

  • Platzieren Sie den Cursor an einer beliebigen Stelle im Code und klicken Sie in den Symbolleistenoptionen auf die grüne Wiedergabeschaltfläche (oder drücken Sie die Taste F5).

Dadurch wird der Code ausgeführt und alle Arbeitsblätter aus allen Excel-Dateien im Ordner werden in einer einzigen Arbeitsmappe konsolidiert.

Wie funktioniert dieser Kodex?

  • Der Code verwendet die DIR-Funktion, um die Dateinamen aus dem angegebenen Ordner abzurufen.
  • Die folgende Zeile weist der Variablen ‚Dateiname‘ den ersten Excel-Dateinamen zu.
    Dateiname = Dir(OrdnerPfad & "*.xls*")
  • Dann wird die Do While-Schleife verwendet, um zu überprüfen, ob alle Dateien abgedeckt wurden.
  • Innerhalb der Schleife „Do While“ wird die Schleife „For Each“ verwendet, um alle Arbeitsblätter in die Arbeitsmappe zu kopieren, in der wir den Code ausführen.
  • Am Ende der Do-Schleife wird folgende Codezeile verwendet: Filename = Dir(). Es weist der Variablen Filename den nächsten Excel-Dateinamen zu und die Schleife beginnt erneut.
  • Wenn alle Dateien abgedeckt sind, gibt die DIR-Funktion eine leere Zeichenfolge zurück, wenn die Schleife endet.

Hier ist eine Erklärung der DIR-Funktion in der MSDN-Bibliothek:

Dir gibt den ersten Dateinamen zurück, der mit dem Pfadnamen übereinstimmt. Um zusätzliche Dateinamen zu erhalten, die mit dem Pfadnamen übereinstimmen, rufen Sie Dir wieder ohne Argumente. Wenn keine Dateinamen mehr übereinstimmen, Dir gibt eine Zeichenfolge der Länge Null zurück ("").

Hast du sowas schon mal mit VBA probiert? Teilen Sie mit, was Sie getan haben, und wir alle können daraus lernen.

Sparen Sie unglaublich viel Zeit mit VBA. Probier das aus Excel VBA-KURS.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave