Zum Hauptinhalt springen

Excel-Tipps: Daten in mehrere Arbeitsblätter / Arbeitsmappen basierend auf Spaltenwert aufteilen

Author: Xiaoyang Last Modified: 2025-05-28

Beim Verwalten großer Datensätze in Excel kann es sehr vorteilhaft sein, Daten basierend auf bestimmten Spaltenwerten in mehrere Arbeitsblätter aufzuteilen. Diese Methode verbessert nicht nur die Organisation der Daten, sondern erhöht auch die Lesbarkeit und erleichtert die Datenanalyse.

Angenommen, Sie haben einen großen Verkaufsdatensatz mit mehreren Einträgen wie Produktnamen und der im ersten Quartal verkauften Menge. Das Ziel ist es, diese Daten basierend auf jedem Produktnamen in separate Arbeitsblätter aufzuteilen, damit die individuelle Verkaufsleistung separat analysiert werden kann.

Daten in mehrere Arbeitsblätter basierend auf Spaltenwert aufteilen

Daten in mehrere Arbeitsmappen basierend auf Spaltenwert mit VBA-Code aufteilen

Split data into multiple worksheets based on column value


Daten in mehrere Arbeitsblätter basierend auf Spaltenwert aufteilen

Normalerweise können Sie die Datenliste zuerst sortieren und sie dann nacheinander in andere neue Arbeitsblätter kopieren und einfügen. Aber das erfordert Ihre Geduld, um wiederholt zu kopieren und einzufügen. In diesem Abschnitt stellen wir zwei einfache Methoden vor, um diese Aufgabe in Excel effizient zu bewältigen, Zeit zu sparen und das Fehlerpotenzial zu reduzieren.

Daten in mehrere Arbeitsblätter basierend auf Spaltenwert mit VBA-Code aufteilen

1. Halten Sie die Tasten ALT + F11 gedrückt, um das Microsoft Visual Basic for Applications-Fenster zu öffnen.

2. Klicken Sie auf Einfügen > Modul und fügen Sie den folgenden Code im Modulfenster ein.

Sub Splitdatabycol()
'updateby Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
Dim xWS As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. Drücken Sie dann F5 Taste, um den Code auszuführen, und ein Eingabeaufforderungsfenster erscheint, das Sie daran erinnert, die Kopfzeile auszuwählen, und klicken Sie dann auf OK. Siehe Screenshot:
split data into worksheets with vba code to select header row

4. Wählen Sie im zweiten Eingabeaufforderungsfenster die Spaltendaten aus, die Sie aufteilen möchten, und klicken Sie dann auf OK. Siehe Screenshot:
split data into worksheets with vba code to select data range

5. Alle Daten im aktiven Arbeitsblatt werden basierend auf den Spaltenwerten in mehrere Arbeitsblätter aufgeteilt. Die resultierenden Arbeitsblätter werden entsprechend den Werten in den geteilten Zellen benannt und am Ende der Arbeitsmappe platziert. Siehe Screenshot:
split data into worksheets with vba code to get the result

 

Daten in mehrere Arbeitsblätter basierend auf Spaltenwert mit Kutools für Excel aufteilen

Kutools für Excel bringt eine intelligente Funktion – Split Data direkt in Ihre Excel-Umgebung. Das Aufteilen von Daten in mehrere Arbeitsblätter ist keine Herausforderung mehr. Unser intuitives Tool teilt Ihren Datensatz automatisch basierend auf dem gewählten Spaltenwert oder Zeilenanzahl auf und stellt sicher, dass jede Information genau dort ist, wo Sie sie benötigen. Verabschieden Sie sich von der mühsamen Aufgabe, Ihre Tabellen manuell zu organisieren, und nutzen Sie einen schnelleren, fehlerfreien Weg zur Verwaltung Ihrer Daten.

Hinweis: Um dieses Split Data anzuwenden, sollten Sie zuerst Kutools für Excel herunterladen und dann die Funktion schnell und einfach anwenden.

Nach der Installation von Kutools für Excel wählen Sie den Datenbereich aus und klicken Sie dann auf Kutools Plus > Split Data, um das Dialogfeld „Split Data into multiple worksheets“ (Daten in mehrere Arbeitsblätter aufteilen) zu öffnen.

  1. Wählen Sie die Option „Specific column“ (Bestimmte Spalte) im Abschnitt „ Split based on“ (Aufteilungsgrundlage) aus und wählen Sie den Spaltenwert aus, nach dem Sie die Daten aufteilen möchten, aus der Dropdown-Liste.
  2. Wenn Ihre Daten Überschriften enthalten und Sie diese in jedes neue geteilte Arbeitsblatt einfügen möchten, aktivieren Sie bitte die Option „My data has headers“. (Sie können die Anzahl der Titelzeilen basierend auf Ihren Daten angeben. Wenn Ihre Daten beispielsweise zwei Überschriften enthalten, geben Sie bitte 2 ein.)
  3. Dann können Sie die Namen der geteilten Arbeitsblätter unter dem Abschnitt „New worksheets name“ (Namen der neuen Arbeitsblätter) festlegen. Wählen Sie die Regel für die Arbeitsblattnamen aus der Dropdown-Liste „Rules“ aus. Sie können auch Präfixe oder Suffixe für die Blattnamen hinzufügen.
  4. Klicken Sie auf die OK Schaltfläche. Siehe Screenshot:
    split data into worksheets with kutools to set the operations

Jetzt sind die Daten im Arbeitsblatt in mehrere Arbeitsblätter in einer neuen Arbeitsmappe aufgeteilt.
split data into worksheets with kutools to get the result


Daten in mehrere Arbeitsmappen basierend auf Spaltenwert mit VBA-Code aufteilen

Gelegentlich kann es vorteilhafter sein, die Daten statt in mehrere Arbeitsblätter in separate Arbeitsmappen basierend auf einer Schlüsselspalte aufzuteilen. Hier ist eine Schritt-für-Schritt-Anleitung, wie Sie mit VBA-Code den Prozess des Aufteilens von Daten in mehrere Arbeitsmappen basierend auf einem bestimmten Spaltenwert automatisieren können.

1. Halten Sie die Tasten ALT + F11 gedrückt, um das Microsoft Visual Basic for Applications-Fenster zu öffnen.

2. Klicken Sie auf Einfügen > Modul und fügen Sie den folgenden Code im Modulfenster ein.

Sub SplitDataByColToWorkbooks()
    ' Updateby Extendoffice
    Dim lr As Long
    Dim ws As Worksheet
    Dim vcol, i As Integer
    Dim myarr As Variant
    Dim title As String
    Dim titlerow As Integer
    Dim xTRg As Range
    Dim xVRg As Range
    Dim xWS As Workbook
    Dim savePath As String
    ' Set the directory to save new workbooks
    savePath = "C:\Users\AddinsVM001\Desktop\multiple files\" ' Modify this path as needed
    Application.DisplayAlerts = False
    Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", Type:=8)
    If TypeName(xTRg) = "Nothing" Then Exit Sub
    Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", Type:=8)
    If TypeName(xVRg) = "Nothing" Then Exit Sub
    vcol = xVRg.Column
    Set ws = xTRg.Worksheet
    lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
    title = xTRg.Address(False, False)
    titlerow = xTRg.Row
    ws.Columns(vcol).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws.Cells(1, ws.Columns.Count), Unique:=True
    myarr = Application.Transpose(ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).Value)
    ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).ClearContents
    For i = 2 To UBound(myarr)
        Set xWS = Workbooks.Add
        ws.Range(title).AutoFilter Field:=vcol, Criteria1:=myarr(i)
        ws.Range("A" & titlerow & ":A" & lr).SpecialCells(xlCellTypeVisible).EntireRow.Copy
        xWS.Sheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteAll
        xWS.SaveAs Filename:=savePath & myarr(i) & ".xlsx"

        xWS.Close SaveChanges:=False
    Next i
    ws.AutoFilterMode = False
    Application.DisplayAlerts = True
    ws.Activate
End Sub
Hinweis: Im obigen Code sollten Sie den Dateipfad zu Ihrem eigenen ändern, wo die geteilten Arbeitsmappen gespeichert werden sollen: savePath = "C:\Users\AddinsVM001\Desktop\multiple files\".

3. Drücken Sie dann F5 Taste, um den Code auszuführen, und ein Eingabeaufforderungsfenster erscheint, das Sie daran erinnert, die Kopfzeile auszuwählen, und klicken Sie dann auf OK. Siehe Screenshot:
split data into workbooks with vba code to select header row

4. Wählen Sie im zweiten Eingabeaufforderungsfenster die Spaltendaten aus, die Sie aufteilen möchten, und klicken Sie dann auf OK. Siehe Screenshot:
split data into workbooks with vba code to select data range

5. Nach dem Aufteilen werden alle Daten im aktiven Arbeitsblatt basierend auf den Spaltenwerten in mehrere Arbeitsmappen aufgeteilt. Alle geteilten Arbeitsmappen werden im von Ihnen angegebenen Ordner gespeichert. Siehe Screenshot:
split data into workbooks with vba code to get the result

Verwandte Artikel:

  • Daten in mehrere Arbeitsblätter nach Zeilenanzahl aufteilen
  • Das effiziente Aufteilen eines großen Datenbereichs in mehrere Excel-Arbeitsblätter basierend auf einer bestimmten Zeilenanzahl kann die Datenverwaltung optimieren. Zum Beispiel kann das Aufteilen eines Datensatzes alle 5 Zeilen in mehrere Blätter ihn übersichtlicher und besser organisiert machen. Dieser Leitfaden bietet zwei praktische Methoden, um diese Aufgabe schnell und einfach zu erledigen.
  • Zwei oder mehr Tabellen basierend auf Schlüsselspalten zusammenführen
  • Angenommen, Sie haben drei Tabellen in einer Arbeitsmappe und möchten diese Tabellen basierend auf den entsprechenden Schlüsselspalten in eine Tabelle zusammenführen, um das Ergebnis wie im untenstehenden Screenshot dargestellt zu erhalten. Dies mag eine schwierige Aufgabe für die meisten von uns sein, aber keine Sorge, in diesem Artikel werde ich einige Methoden zur Lösung dieses Problems vorstellen.
  • Textzeichenfolgen durch Trennzeichen in mehrere Zeilen aufteilen
  • Normalerweise können Sie die Funktion „Text in Spalten“ verwenden, um Zelleninhalte durch ein bestimmtes Trennzeichen wie Komma, Punkt, Semikolon, Schrägstrich usw. in mehrere Spalten aufzuteilen. Manchmal müssen Sie jedoch die durch Trennzeichen getrennten Zelleninhalte in mehrere Zeilen aufteilen und die Daten aus anderen Spalten wiederholen, wie im untenstehenden Screenshot gezeigt. Haben Sie gute Möglichkeiten, diese Aufgabe in Excel zu bewältigen? Dieses Tutorial stellt einige effektive Methoden vor, um diese Aufgabe in Excel zu erledigen.
  • Mehrzeilige Zelleninhalte in getrennte Zeilen/Spalten aufteilen
  • Angenommen, Sie haben mehrzeilige Zelleninhalte, die durch Alt + Enter getrennt sind, und jetzt müssen Sie die mehrzeiligen Inhalte in getrennte Zeilen oder Spalten aufteilen. Was können Sie tun? In diesem Artikel erfahren Sie, wie Sie mehrzeilige Zelleninhalte schnell in getrennte Zeilen oder Spalten aufteilen können.

Beste Büroproduktivitätswerkzeuge

🤖 Kutools AI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Finden, Hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten oder Zellen kombinieren ohne Datenverlust   |   Runden ...
Erweiterte SVERWEIS: Mehrfachkriterien SVERWEIS    Mehrfachwert SVERWEIS  |   Mehrblatt-SVERWEIS   |   Fuzzy Match ....
Erweiterte Dropdown-Liste: Schnell Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Eine bestimmte Anzahl von Spalten hinzufügen  |  Spalten verschieben  |  Sichtbarkeitsstatus ausgeblendeter Spalten umschalten  |  Bereiche & Spalten vergleichen ...
Hervorgehobene Funktionen: Gitterfokus   |  Entwurfsansicht   |   Erweiterte Formelleiste    Arbeitsmappe & Arbeitsblatt-Manager   |  AutoText-Bibliothek (Auto Text)   |  Datumsauswahl   |  Daten zusammenführen   |  Zellen verschlüsseln/entschlüsseln    E-Mail senden nach Liste   |  Spezialfilter   |   Spezialfilter (Filtern fett/kursiv/durchgestrichen...) ...
Top15 Werkzeugsets12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...)   |   50+ Diagramm typen (Gantt-Diagramm, ...)   |   40+ Praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...)   |   19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...)   |   7 Konsolidieren & Aufteilen Werkzeuge (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
  • Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!