Wie kann man Daten basierend auf einer Spalte in Excel in mehrere Arbeitsblätter aufteilen?
Angenommen, Sie haben ein Arbeitsblatt mit großen Datenzeilen, und jetzt müssen Sie die Daten basierend auf dem in mehrere Arbeitsblätter aufteilen Name Spalte (siehe folgenden Screenshot), und die Namen werden zufällig eingegeben. Vielleicht können Sie sie zuerst sortieren und dann einzeln kopieren und in andere neue Arbeitsblätter einfügen. Dies erfordert jedoch Ihre Geduld, um wiederholt zu kopieren und einzufügen. Heute werde ich über einige schnelle Tricks sprechen, um diese Aufgabe zu lösen.
Teilen Sie Daten basierend auf einer Spalte mit VBA-Code in mehrere Arbeitsblätter auf
Teilen Sie Daten mit Kutools for Excel basierend auf einer Spalte in mehrere Arbeitsblätter auf
Teilen Sie Daten basierend auf einer Spalte mit VBA-Code in mehrere Arbeitsblätter auf
Wenn Sie die Daten basierend auf dem Spaltenwert schnell und automatisch aufteilen möchten, ist der folgende VBA-Code eine gute Wahl. Bitte machen Sie Folgendes:
1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das 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. Dann drücken F5 Wenn Sie die Taste drücken, um den Code auszuführen, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, dass Sie die Kopfzeile ausgewählt haben (siehe Abbildung):
4. Und dann klicken OK Klicken Sie auf die Schaltfläche und wählen Sie im zweiten Eingabeaufforderungsfeld die Spaltendaten aus, auf deren Grundlage Sie teilen möchten (siehe Abbildung):
5. Dann klick OKAlle Daten im aktiven Arbeitsblatt werden durch den Spaltenwert in mehrere Arbeitsblätter aufgeteilt. Und die geteilten Arbeitsblätter werden mit den geteilten Zellennamen benannt. Siehe Screenshot:
Note: Die geteilten Arbeitsblätter befinden sich am Ende der Arbeitsmappe, in der sich das Master-Arbeitsblatt befindet.
Teilen Sie Daten mit Kutools for Excel basierend auf einer Spalte in mehrere Arbeitsblätter auf
Als Excel-Anfänger ist dieser lange VBA-Code für uns etwas schwierig, und die meisten von uns wissen nicht einmal, wie sie den Code nach Bedarf ändern sollen. Hier stelle ich Ihnen ein multifunktionales Tool vor:Kutools for Excel, seine Daten teilen Das Dienstprogramm kann Ihnen nicht nur dabei helfen, Daten basierend auf der Spalte in mehrere Arbeitsblätter aufzuteilen, sondern auch Daten nach Zeilenanzahl aufteilen.
Hinweis:Um dies anzuwenden Daten teilenZunächst sollten Sie die herunterladen Kutools for Excelund wenden Sie die Funktion dann schnell und einfach an.
Nach der Installation Kutools for ExcelBitte machen Sie Folgendes:
1. Wählen Sie den Datenbereich aus, den Sie teilen möchten.
2. Klicken Sie Kutoolen Plus > Arbeitsblatt > Daten teilen, siehe Screenshot:
3. In dem Daten in mehrere Arbeitsblätter aufteilen Dialogfeld müssen Sie:
1). Wählen Spezifische Spalte Option in der Aufteilen basierend auf Wählen Sie in der Dropdown-Liste den Spaltenwert aus, auf den Sie die Daten aufteilen möchten. (Wenn Ihre Daten Überschriften haben und Sie diese in jedes neue geteilte Arbeitsblatt einfügen möchten, überprüfen Sie dies bitte Meine Daten haben Kopfzeilen Möglichkeit.)
2). Anschließend können Sie die geteilten Arbeitsblattnamen unter dem angeben Neuer Name der Arbeitsblätter Geben Sie im Abschnitt die Regeln für Arbeitsblattnamen aus dem an Regeln Dropdown-Liste, können Sie die hinzufügen Vorsilbe or Suffix auch für die Blattnamen.
3). Drücke den OK Taste. Siehe Screenshot:
4. Jetzt werden die Daten in einer neuen Arbeitsmappe in mehrere Arbeitsblätter aufgeteilt.
Klicken Sie hier, um Kutools für Excel herunterzuladen und jetzt kostenlos zu testen!
Teilen Sie Daten mit Kutools for Excel basierend auf einer Spalte in mehrere Arbeitsblätter auf
Kutools for Excel Enthält mehr als 300 praktische Excel-Tools. Kostenlos ohne Einschränkung in 30 Tagen zu versuchen. Laden Sie jetzt die kostenlose Testversion herunter!
In Verbindung stehender Artikel:
Wie kann man Daten nach Zeilenanzahl in mehrere Arbeitsblätter aufteilen?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!