Inhaltsverzeichnis
Ein großer Datensatz kann mehrere Werte enthalten, die auf derselben Spalte basieren. Wenn Sie möchten, können Sie die Werte derselben Kategorien (Abteilung, Monat, Region, Bundesländer usw.) in verschiedene Arbeitsblätter oder Arbeitsmappen aufteilen. In diesem Artikel erkläre ich, wie man Excel-Blätter in mehrere Arbeitsblätter aufteilt.
Um Ihnen diese Erklärung zu verdeutlichen, werde ich einen Beispieldatensatz verwenden. Der Datensatz enthält 4 Spalten, die die Verkaufsdaten verschiedener Monate darstellen. Diese Spalten sind Vertriebsmitarbeiter, Region, Monat, und Vertrieb .
Herunterladen zum Üben
Excel-Blatt in mehrere Arbeitsblätter aufteilen.xlsmAufteilen von Excel-Blättern in mehrere Arbeitsblätter
1. mit Filter und Kopie
Von jedem Blatt aus können Sie die Daten in mehrere Blätter aufteilen, indem Sie Filter .
Wählen Sie zunächst den Zellbereich aus, auf den Sie die Filter .
Hier habe ich den Zellbereich ausgewählt. B3:E15 .
Öffnen Sie dann die Daten tab>> auswählen Filter .
Sie können auch Folgendes verwenden STRG + SHIFT + L zu beantragen Filter über die Tastatur .
Jetzt, Filter wird auf den ausgewählten Zellbereich angewendet.
Klicken Sie dann auf die Schaltfläche Monat Spalte, da ich die Daten je nach Monat Werte.
Von dort aus habe ich abgewählt alles außer Januar Klicken Sie schließlich auf OK .
Nun werden alle Werte, bei denen die Monat ist Januar gefiltert werden.
Dann, Kopieren die Daten und Kleister in das neue Arbeitsblatt.
Hier habe ich das neue Blatt benannt Januar. So sehen Sie alle Verkaufsinformationen für Januar wird hier vorgestellt.
Für den Rest der Monate können Sie die gleichen Verfahren anwenden.
Klicken Sie erneut auf das Symbol Monat Spalte, da ich die Daten je nach Monat Werte.
Von dort aus abwählen. alles außer Februar Klicken Sie schließlich auf OK .
Nun werden alle Werte für Februar Monat gefiltert werden.
Dann, Kopieren die Daten und Kleister in das neue Arbeitsblatt.
Später nannte ich das neue Blatt Februar. So sehen Sie alle Verkaufsinformationen für den Monat von Februar wird hier vorgestellt.
Klicken Sie erneut auf das Symbol Monat Spalte, da ich die Daten je nach Monat Werte.
Von dort aus abwählen. alles außer März Klicken Sie schließlich auf OK .
Jetzt sehen Sie alle Werte von März gefiltert werden.
Dann, Kopieren die Daten und Kleister in das neue Arbeitsblatt.
Schließlich nannte ich das neue Blatt März So sehen Sie alle Verkaufsinformationen für März wird hier vorgestellt.
Lesen Sie mehr: Excel-Blatt in mehrere Blätter auf Basis von Zeilen aufteilen
2 Excel-Blatt anhand der Zeilenzahl mit VBA aufteilen
Bevor Sie mit dem Verfahren beginnen, müssen Sie daran denken, dass Sie mit den Daten in den ersten Zeilen beginnen müssen.
Öffnen Sie nun die Entwickler tab>> auswählen Visual Basic
Es öffnet sich ein neues Fenster mit Microsoft Visual Basic für Anwendungen .
Nun, von einfügen. auswählen Modul
A Modul wird dort eröffnet.
Schreiben Sie dann den folgenden Code in die Datei Modul .
Sub SplitExcelSheet_into_MultipleSheets() Dim WorkRng As Range Dim xRow As Range Dim SplitRow As Integer Dim xWs As Worksheet On Error Resume Next EcelTitleId = "Split Row Numt" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", ExcelTitleId, WorkRng.Address, Type:=8) SplitRow = Application.InputBox("Split Row Num", ExcelTitleId, 4, Type:=1) Set xWs = WorkRng.ParentSet xRow = WorkRng.Rows(1) Application.ScreenUpdating = False For i = 1 To WorkRng.Rows.Count Step SplitRow resizeCount = SplitRow If (WorkRng.Rows.Count - xRow.Row + 1) <SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1 xRow.Resize(resizeCount).Copy Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)Application.ActiveSheet.Range("A1").PasteSpecial Set xRow = xRow.Offset(SplitRow) Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
Hier habe ich eine Unterprozedur namens SplitExcelSheet_into_MultipleSheets .
Ich habe einige Variablen deklariert, und zwar WorkRng und xRow als Bereich Typ dann
SplitRow als Integer auch xWs als Arbeitsblatt Typ.
Außerdem, gebraucht ExcelTitleId um die Dialogfeld Titel.
Ich habe eine geteilte Zeilennummer angegeben 4 Daten durch 4 Zeilen zu teilen, da in meinem Datensatz die Monat von Januar hat 4 Reihen.
Zuletzt wurde ein Für Schleife bis SplitRow bis der angegebene Zellbereich endet.
Dann, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.
Öffnen Sie nun die Entwickler tab>> Von einfügen. auswählen Schaltfläche
A Dialogfeld auftauchen.
Zum Zuweisen der Makro in der eingefügten Schaltfläche .
Wählen Sie SplitExcelSheet_into_Multiplesheets von der Makro Name dann klicken OK .
Klicken Sie einfach auf die Schaltfläche zur Ausführung der Makro .
Nun, ein Dialogfeld wird angezeigt, wo Sie die Daten eingeben können Bereich.
Hier habe ich den Zellbereich ausgewählt. B1:E12
Klicken Sie dann auf OK .
Eine weitere Dialogfeld wird eingeblendet, um Ihnen die Anzahl der ausgewählten Zeilen anzuzeigen, die Sie bereits im Code für die Aufteilung des Datensatzes angegeben haben.
➤ Im Code habe ich 4 als Split Row Num
Da ich insgesamt 12 Reihen so mit 4 Reihen wird es 3 Blätter .
Unter Blatt1 sehen Sie die Daten der ersten 4 Zeilen.
Unter Blatt2 sehen Sie die Daten der Zeilen 5 bis 8.
Unter Blatt3 sehen Sie die Daten der letzten 4 Zeilen.
Lesen Sie mehr: Excel VBA: Blatt in mehrere Blätter auf Basis von Zeilen aufteilen
Ähnliche Lektüre
- Bildschirmaufteilung in Excel (3 Möglichkeiten)
- [Fix:] Excel-Ansicht Seite an Seite funktioniert nicht
- Wie man Blätter in Excel trennt (6 effektive Methoden)
- Zwei Excel-Dateien getrennt voneinander öffnen (5 einfache Methoden)
- Excel-Blatt in mehrere Dateien aufteilen (3 schnelle Methoden)
3. Excel-Blatt in mehrere Arbeitsmappen auf Basis von Spalten aufteilen
Bevor Sie mit dem Verfahren beginnen, sollten Sie daran denken, dass Sie die Daten in der ersten Zeile und der ersten Spalte beginnen müssen.
Öffnen Sie nun die Entwickler tab>> auswählen Visual Basic
Es öffnet sich ein neues Fenster mit Microsoft Visual Basic für Anwendungen .
Nun, von einfügen. auswählen Modul
A Modul wird dort eröffnet.
Schreiben Sie dann den folgenden Code in die Datei Modul .
Sub SplitSheetIntoMultipleWorkbooksBasedOnColumn() Dim objWorksheet As Excel.Worksheet Dim nLastRow, nRow, nNextRow As Integer Dim strColumnValue As String Dim objDictionary As Object Dim varColumnValues As Variant Dim varColumnValue As Variant Dim objExcelWorkbook As Excel.Workbook Dim objSheet As Excel.Worksheet Set objWorksheet = ActiveSheet nLastRow =objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row Set objDictionary = CreateObject("Scripting.Dictionary") For nRow = 2 To nLastRow strColumnValue = objWorksheet.Range("C" & nRow).Value If objDictionary.Exists(strColumnValue) = False Then objDictionary.Add strColumnValue, 1 End If Next varColumnValues = objDictionary.KeysFor i = LBound(varColumnValues) To UBound(varColumnValues) varColumnValue = varColumnValues(i) Set objExcelWorkbook = Excel.Application.Workbooks.Add Set objSheet = objExcelWorkbook.Sheets(1) objSheet.Name = objWorksheet.Name objWorksheet.Rows(1).EntireRow.Copy objSheet.Activate objSheet.Range("A1").Select objSheet.PasteFor nRow = 2 To nLastRow If CStr(objWorksheet.Range("C" & nRow).Value) = CStr(varColumnValue) Then objWorksheet.Rows(nRow).EntireRow.Copy nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1 objSheet.Range("A" & nNextRow).Select objSheet.PasteobjSheet.Columns("A:D").AutoFit End If Next Next End Sub
Hier habe ich eine Unterprozedur namens SplitSheetIntoMultipleWorkbooksBasedOnColumn , wo ich mehrere Variablen deklariert habe.
Ich habe 3 FÜR Schleifen. Der 1. FÜR Schleife zählt die Zeilen von Zeile 2 bis zur letzten Zeile mit einem Wert, um die spezifische Spalte zu erhalten. Ich habe die Instanz von "C" Spalte.
Sie können es für Ihren Fall ändern
Die 2. Für Schleife wird eine neue Excel-Arbeitsmappe erstellt.
Die 3. Fo r-Schleife kopiert die Daten mit der gleichen Spalte "C" Wert in der neuen Arbeitsmappe von der 2. Zeile bis zur letzten Zeile mit Wert.
Dann, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.
Öffnen Sie nun die Siehe tab>> Von Makros auswählen Makros anzeigen
A Dialogfeld auftauchen.
Nun, vom Makro-Name wählen Sie die SplitSheetIntoMultipleWorkbooksBasedOnColumn wählen Sie auch die Arbeitsmappe in Makros in .
Endlich, ausführen. die ausgewählten Makro .
Schließlich werden Sie sehen, dass 3 neue Arbeitsmappen erstellt wurden, da es 3 verschiedene Monate in Spalte C . die Buch1 für Januar .
Die Buch2 für die Februar .
Die Buch3 für März .
Lesen Sie mehr: Aufteilung eines Excel-Blattes in mehrere Blätter auf Basis von Spaltenwerten
Schlussfolgerung
In diesem Artikel habe ich 3 Möglichkeiten erklärt, wie man Excel-Blätter in mehrere Arbeitsblätter aufteilt. Sie können jede der erklärten Möglichkeiten befolgen, um Ihr Excel-Blatt in mehrere Arbeitsblätter aufzuteilen. Falls Sie irgendwelche Verwirrung oder Fragen zu diesen Methoden haben, können Sie unten einen Kommentar abgeben.