Hur delar jag data i flera kalkylblad baserat på kolumn i Excel?
Om du antar att du har ett kalkylblad med enorma rader med data, och nu måste du dela upp data i flera kalkylblad baserat på Namn (se följande skärmdump) och namnen matas in slumpmässigt. Kanske kan du sortera dem först och sedan kopiera och klistra in dem en efter en i andra nya kalkylblad. Men detta behöver ditt tålamod för att kopiera och klistra in flera gånger. Idag kommer jag att prata om några snabba knep för att lösa denna uppgift.
Dela data i flera kalkylblad baserat på kolumn med VBA-kod
Dela upp data i flera kalkylblad baserat på kolumn med Kutools for Excel
Dela data i flera kalkylblad baserat på kolumn med VBA-kod
Om du vill dela upp data baserat på kolumnvärde snabbt och automatiskt är följande VBA-kod ett bra val. Gör så här:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i modulfönstret.
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. Tryck sedan på F5 nyckel för att köra koden, och en snabbruta visas för att påminna dig om att du väljer rubrikraden, se skärmdump:
4. Och klicka sedan på OK -knappen och i den andra rutan, välj kolumndata som du vill dela baserat på, se skärmdump:
5. Klicka sedan OK, och all data i det aktiva kalkylbladet delas upp i flera kalkylblad med kolumnvärdet. Och delade kalkylblad heter med delade cellnamn. Se skärmdump:
Anmärkningar: De delade kalkylbladen placeras i slutet av arbetsboken där huvudkalkylbladet finns.
Dela upp data i flera kalkylblad baserat på kolumn med Kutools for Excel
Som en nybörjare i Excel är den här långa VBA-koden något svår för oss, och de flesta av oss vet inte ens hur man ändrar koden efter behov. Här presenterar jag ett multifunktionellt verktyg--Kutools for Excel, dess Split data verktyget kan inte bara hjälpa dig att dela upp data i flera kalkylblad baserat på kolumn, utan kan också dela data efter antal rader.
Notera:Att tillämpa detta Split dataFör det första bör du ladda ner Kutools for Excel, och använd sedan funktionen snabbt och enkelt.
När du har installerat Kutools for Excel, gör så här:
1. Välj det dataområde som du vill dela.
2. Klicka Kutools Plus > Arbetsblad > Split data, se skärmdump:
3. I Dela data i flera kalkylblad dialogrutan måste du:
1). Välj Specifik kolumn alternativet i Dela baserat på och välj det kolumnvärde som du vill dela upp data baserat på i listrutan. (Om dina data har rubriker och du vill infoga dem i varje nytt delat kalkylblad, kontrollera Mina data har rubriker alternativ.)
2). Sedan kan du ange namnen på delade kalkylblad under Nytt kalkylbladets namn avsnitt, ange reglerna för kalkylbladets namn från regler rullgardinsmenyn kan du lägga till Prefix or Ändelse för arknamnen också.
3). Klicka på OK knapp. Se skärmdump:
4. Nu delas data i flera kalkylblad i en ny arbetsbok.
Klicka för att hämta Kutools for Excel och gratis provperiod nu!
Dela upp data i flera kalkylblad baserat på kolumn med Kutools for Excel
Kutools for Excel innehåller mer än 300 praktiska Excel-verktyg. Gratis att prova utan begränsning på 30 dagar. Ladda ner den kostnadsfria testversionen nu!
Relaterad artikel:
Hur delar jag data i flera kalkylblad efter antal rader?
De bästa Office-produktivitetsverktygen
Kutools for Excel Löser de flesta av dina problem och ökar din produktivitet med 80 %
- återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
- Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
- Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
- Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
- Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
- Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
- Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
- Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
- Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!































