Mehrere CSV-Dateien in einer Excel-Datei zusammenführen (separate Tabellenblätter)

2026-07-08 06:53:03 jie zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Mehrere CSV-Dateien in einer Excel-Arbeitsmappe zusammenführen

Wenn Sie mit Berichten arbeiten, die aus verschiedenen Systemen exportiert wurden, haben Sie es häufig mit Dutzenden von CSV-Dateien zu tun. Beispielsweise kann jede Abteilung, jede Filiale oder jeder Monat einen eigenen CSV-Bericht generieren. Während dies die Datenerfassung vereinfacht, wird die Verwaltung einer großen Anzahl separater Dateien schnell unhandlich.

Eine praktische Lösung besteht darin, alle CSV-Dateien in einer Excel-Arbeitsmappe zu kombinieren, wobei jede CSV-Datei als separates Arbeitsblatt erhalten bleibt. Dies bewahrt die ursprüngliche Dateistruktur, erleichtert die Navigation und ermöglicht es Ihnen, eine einzige Arbeitsmappe anstelle vieler einzelner Dateien weiterzugeben.

In diesem Artikel stellen wir drei praktische Methoden vor – von einem einfachen manuellen Ansatz über die Excel-Automatisierung mit VBA bis hin zu einer vollständig programmatischen Python-Lösung.

Behandelte Methoden:

Methode 1. CSV-Dateien kopieren und in separate Arbeitsblätter einfügen

Wenn Sie nur wenige CSV-Dateien zusammenführen müssen, ist die einfachste Lösung, deren Inhalte manuell in verschiedene Arbeitsblätter zu kopieren.

Ein wichtiges Detail ist, dass Sie jede CSV-Datei mit Microsoft Excel öffnen sollten, anstatt mit einem Texteditor wie Notepad. Wenn eine CSV-Datei in Excel geöffnet wird, werden ihre Zeilen und Spalten basierend auf dem Trennzeichen korrekt analysiert. Wenn Sie den Text direkt aus Notepad kopieren, fügt Excel möglicherweise alles in eine einzige Spalte ein, anstatt die Werte automatisch zu trennen.

CSV-Dateien kopieren und in separate Arbeitsblätter einfügen

Schritte

  1. Öffnen Sie Microsoft Excel und erstellen Sie eine neue Arbeitsmappe.
  2. Öffnen Sie die erste CSV-Datei mit Excel.
  3. Markieren Sie alle Daten (Strg + A) und kopieren Sie diese (Strg + C).
  4. Kehren Sie zur neuen Arbeitsmappe zurück und fügen Sie die Daten in das erste Arbeitsblatt ein.
  5. Benennen Sie das Arbeitsblatt bei Bedarf um.
  6. Wiederholen Sie den Vorgang für jede weitere CSV-Datei und erstellen Sie jedes Mal ein neues Arbeitsblatt.
  7. Speichern Sie die Arbeitsmappe als .xlsx-Datei.

Vorteile

  • Keine Programmierung erforderlich.
  • Funktioniert in jeder Excel-Installation.
  • Behält eine CSV-Datei pro Arbeitsblatt bei.
  • Ideal für gelegentliche Aufgaben mit nur wenigen Dateien.

Nachteile

  • Zeitaufwendig bei der Verarbeitung vieler Dateien.
  • Rein manuell.
  • Fehleranfällig bei der Handhabung von Dutzenden von CSV-Dateien.

Methode 2. Verwendung eines VBA-Makros zum Importieren mehrerer CSV-Dateien

Wenn Sie diese Aufgabe häufig in Excel ausführen, kann ein VBA-Makro den gesamten Prozess automatisieren. Das Makro durchsucht einen Ordner, öffnet jede CSV-Datei, kopiert deren Arbeitsblatt in die aktuelle Arbeitsmappe und benennt das Arbeitsblatt nach der CSV-Datei.

Mehrere CSV-Dateien in Excel mit einem VBA-Makro kombinieren

Schritt 1. Eine leere Arbeitsmappe erstellen

Öffnen Sie Excel und erstellen Sie eine neue Arbeitsmappe. Diese Arbeitsmappe dient als Ziel-Arbeitsmappe, in der alle importierten Arbeitsblätter gespeichert werden.

Schritt 2. Den VBA-Editor öffnen

Drücken Sie Alt + F11, um den Visual Basic-Editor zu öffnen.

Wählen Sie Einfügen > Modul und fügen Sie den folgenden Code in das neue Modul ein.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("Geben Sie den Ordnerpfad mit den CSV-Dateien ein:")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "CSV-Dateien wurden erfolgreich zusammengeführt."

End Sub

Schritt 3. Das Makro ausführen

Drücken Sie F5, geben Sie den Ordner mit Ihren CSV-Dateien ein, und das Makro importiert automatisch jede CSV-Datei in ein eigenes Arbeitsblatt.

Vorteile

  • Viel schneller als manuelles Kopieren.
  • Läuft vollständig innerhalb von Microsoft Excel.
  • Erstellt automatisch ein Arbeitsblatt für jede CSV-Datei.
  • Geeignet für Benutzer, die regelmäßig mit Excel arbeiten.

Nachteile

  • Erfordert makrofähige Arbeitsmappen.
  • Benutzer müssen VBA-Makros aktivieren.
  • Weniger geeignet für unbeaufsichtigte oder serverseitige Automatisierung.

Methode 3. Zusammenführen mehrerer CSV-Dateien in Python mit Spire.XLS

Für wiederkehrende Arbeitsabläufe, geplante Aufgaben oder Geschäftsanwendungen ist die programmatische Automatisierung oft die effizienteste Lösung.

Viele Entwickler denken bei der CSV-Verarbeitung sofort an Pandas. Pandas ist eine hervorragende Bibliothek zum Lesen, Analysieren und Transformieren tabellarischer Daten. Ihr Hauptfokus liegt jedoch auf der Datenanalyse und nicht auf der Dokumentenerstellung.

Wenn Ihr Arbeitsablauf über das bloße Importieren von CSV-Dateien hinausgeht – zum Beispiel Arbeitsblätter formatieren, Stile anwenden, Diagramme einfügen, Arbeitsmappen schützen oder die fertige Arbeitsmappe als PDF exportieren –, bietet eine Tabellenkalkulationsbibliothek wie Free Spire.XLS for Python eine vollständigere Lösung.

Installieren Sie zunächst die Bibliothek:

pip install Spire.XLS

Verwenden Sie dann den folgenden Code, um jede CSV-Datei in einem Ordner in einer einzigen Excel-Arbeitsmappe zusammenzuführen, wobei jede CSV-Datei zu einem separaten Arbeitsblatt wird.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# Ziel-Arbeitsmappe erstellen
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# Jede CSV-Datei verarbeiten
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

Ausgabe:

Mehrere CSV-Dateien in Excel mit Python zusammenführen

Im Vergleich zu manuellen Methoden oder VBA lässt sich dieser Ansatz viel einfacher in automatisierte Arbeitsabläufe integrieren. Nach dem Generieren der Arbeitsmappe können Sie diese mit Spire.XLS weiterverarbeiten – zum Beispiel:

  • Schriftarten, Farben, Rahmen und Zahlenformate anwenden.
  • Fenster fixieren oder Spaltenbreiten automatisch anpassen.
  • Diagramme und Pivot-Tabellen erstellen.
  • Arbeitsblätter oder die Arbeitsmappe schützen.
  • Die fertige Arbeitsmappe in PDF oder andere Formate exportieren.

Diese Funktionen machen es nicht nur für das Zusammenführen von CSV-Dateien geeignet, sondern auch für End-to-End-Berichterstellungspipelines.

Vergleich der drei Methoden

Methode Programmierung erforderlich Stapelverarbeitung Am besten geeignet für
Kopieren und Einfügen Nein Begrenzt Einmalige Aufgaben mit nur wenigen CSV-Dateien
VBA-Makro Grundlegendes VBA Ja Excel-Benutzer, die regelmäßig CSV-Dateien importieren
Python + Free Spire.XLS Python Hervorragend Automatisierte Arbeitsabläufe, Geschäftsanwendungen und Stapelverarbeitung

Fazit

Die beste Methode hängt davon ab, wie oft Sie die Aufgabe ausführen müssen.

Wenn Sie nur gelegentlich einige CSV-Dateien kombinieren müssen, ist das manuelle Kopieren und Einfügen der Daten in separate Arbeitsblätter die schnellste Lösung.

Wenn Sie hauptsächlich in Excel arbeiten und diese Aufgabe regelmäßig ausführen, kann ein VBA-Makro den Prozess mit minimalem Aufwand automatisieren.

Für Entwickler, die wiederholbare Arbeitsabläufe erstellen oder die CSV-Verarbeitung in Anwendungen integrieren, bietet Python mit Spire.XLS die größte Flexibilität. Über das Zusammenführen von CSV-Dateien hinaus ermöglicht es eine erweiterte Tabellenkalkulationsbearbeitung und Dokumentenerstellung, was es für eine Vielzahl von Automatisierungsszenarien geeignet macht.

Häufig gestellte Fragen (FAQs)

Kann ich Hunderte von CSV-Dateien in einer Excel-Arbeitsmappe zusammenführen?

Ja. VBA kann viele Dateien verarbeiten, aber für sehr große Stapel oder automatisierte Arbeitsabläufe ist eine Python-Lösung im Allgemeinen zuverlässiger und skalierbarer.

Wird jede CSV-Datei zu einem eigenen Arbeitsblatt?

Ja. Alle drei in diesem Artikel beschriebenen Methoden bewahren jede CSV-Datei als separates Arbeitsblatt, anstatt alle Daten in einem einzigen Blatt zu kombinieren.

Können die Namen der Arbeitsblätter auf den CSV-Dateinamen basieren?

Ja. Sowohl das VBA-Makro als auch das Python-Beispiel verwenden automatisch den CSV-Dateinamen (ohne Erweiterung) als Namen für das Arbeitsblatt.

Was ist, wenn meine CSV-Dateien UTF-8 oder andere Kodierungen verwenden?

Die meisten CSV-Dateien können problemlos importiert werden. Wenn Ihre Dateien eine andere Kodierung oder ein anderes Trennzeichen verwenden, passen Sie die Importeinstellungen vor der Verarbeitung entsprechend an.

Kann ich die Arbeitsmappe nach dem Zusammenführen der CSV-Dateien weiter bearbeiten?

Absolut. Nachdem die Arbeitsmappe erstellt wurde, können Sie Arbeitsblätter formatieren, Diagramme einfügen, Formeln hinzufügen, die Arbeitsmappe schützen oder sie wie jede andere Excel-Datei als PDF exportieren.

Siehe auch