Les galetes ens ajuden a lliurar els nostres serveis. En utilitzar els nostres serveis, accepteu el nostre ús de cookies.
Consell: altres idiomes es tradueixen en Google. Pots visitar el English versió d'aquest enllaç.
Iniciar Sessió
x
or
x
x
Registre
x

or

Com dividir les dades en múltiples fulls de treball sobre la base de la columna d'Excel?

Suposant que teniu un full de treball amb enormes files, i ara, heu de dividir les dades en diversos fulls de treball en funció de la Nom columna (vegeu la següent captura de pantalla), i els noms s'introdueixen aleatòriament. Potser podeu ordenar-les primer i, a continuació, copiar-les i enganxar-les una a una en altres fulls de treball nous. Però això requereix la vostra paciència per copiar i enganxar diverses vegades. Avui, parlaré d'alguns trucs ràpids per resoldre aquesta tasca.

doc dividir dades per columnes 1

Divideix les dades en múltiples fulls de treball basats en la columna amb codi VBA

Divideix les dades en múltiples fulls de treball basats en la columna amb Kutools for Excel


Divideix les dades en múltiples fulls de treball basats en el recompte de columnes o files específiques en el full de treball:

Si voleu dividir un full de càlcul gran en diversos fulls basant-se en dades específiques de columnes o recompte de files, el Kutools for Excel's Dividir dades La funció us pot ajudar a resoldre aquesta tasca de manera ràpida i senzilla.

doc dividir dades per columnes 6

Kutools for Excel: amb més complements Excel de 200, gratuïts per intentar sense limitacions en 60 dies. Baixada i prova gratuïta Ara!


Divideix les dades en múltiples fulls de treball basats en la columna amb codi VBA


Si voleu dividir les dades en funció del valor de la columna ràpidament i automàticament, el codi VBA següent és una bona opció. Feu el següent:

1. Mantingueu premut el botó ALT + F11 claus per obrir el Microsoft Visual Basic per a aplicacions finestra.

2. Clic Insereix > Mòduls, i enganxeu el següent codi a la finestra del mòdul.

Sub Splitdatabycol()
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
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
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").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. A continuació, premeu F5 tecla per executar el codi i apareix una caixa ràpida per recordar-vos que seleccioneu la fila de capçalera, vegeu captura de pantalla:

doc dividir dades per columnes 7

4. I després, feu clic a OK , i en el segon quadre d'indicadors, seleccioneu les dades de columna que voleu dividir en funció de, vegeu captura de pantalla:

doc dividir dades per columnes 8

5. A continuació, feu clic a OK, i totes les dades del full de treball actiu es divideixen en múltiples fulls de treball pel valor de la columna. I els fulls de treball dividits es nomenen amb els noms de les cel·les dividides. Veure captura de pantalla:

doc dividir dades per columnes 2

Nota: Els fulls de treball dividits es col·loquen al final del llibre on es troba el full de treball mestre.


Divideix les dades en múltiples fulls de treball basats en la columna amb Kutools for Excel

Com a principiant d'Excel, aquest llarg codi VBA és una mica difícil per a nosaltres, i la majoria de nosaltres fins i tot no sabem com modificar el codi com la nostra necessitat.

Aquí, us presentaré una eina multifuncional:Kutools for Excel, el seu Dividir dades La utilitat no només us pot ajudar a dividir les dades en diversos fulls de treball en funció de la columna, sinó que també pot dividir les dades per recompte de files.

Kutools for Excel : amb més complements útils de 300 d'Excel, lliures per intentar sense limitacions en 60 dies.

Si heu instal·lat Kutools for Excel, feu el següent:

1. Seleccioneu l'interval de dades que vulgueu dividir.

2. Clic Kutools més > Full de treball > Dividir dades, veure captura de pantalla:

doc dividir dades per columnes 3

3. Al Divideix les dades en diversos fulls de treball quadre de diàleg, heu de:

1). Selecciona Columna específica opció en el Dividit basat en , i trieu el valor de columna que voleu dividir les dades en funció de la llista desplegable. (Si les vostres dades tenen capçaleres i voleu inserir-les en cada full de càlcul dividit, consulteu Les meves dades tenen capçaleres opció).

2). A continuació, podeu especificar els noms del full de càlcul dividit, sota la secció Nous fulls de fulls de càlcul , especifiqueu les regles dels noms de full de càlcul de la Regles llista desplegable, podeu afegir la llista desplegable Prefix or sufix per als noms de fulls també.

3). Feu clic al OK botó Mostra la captura de pantalla:

doc dividir dades per columnes 4

4. Ara, les dades es divideixen en múltiples fulls de treball en un llibre nou.

doc dividir dades per columnes 5

Feu clic per descarregar Kutools for Excel i prova gratuïta Ara!


Divideix les dades en múltiples fulls de treball basats en la columna amb Kutools for Excel

Kutools for Excel Inclou més eines 300 pràctiques d'Excel. Lliure de provar sense límit en 60 dies. Descarregueu la prova gratuïta ara!


Article relacionat:

Com dividir les dades en múltiples fulls de càlcul de files?



Eines de productivitat recomanades

Pestanya d'Office

estrella d&#39;or1 Porteu les pestanyes pràctiques a l'Excel i a un altre programari d'Office, igual que Chrome, Firefox i el nou Internet Explorer.

Kutools for Excel

estrella d&#39;or1 Increïble! Incrementeu la productivitat en 5 minuts. No necessites cap habilitat especial, estalvieu dues hores cada dia.

estrella d&#39;or1 300 Noves característiques per a Excel, Excel molt fàcil i potent:

  • Combina cel·les / files / columnes sense perdre dades.
  • Combina i consolida diverses fulles i llibres.
  • Comparar intervals, copiar diversos rangs, convertir text a data, unitat i conversió de divises.
  • Compte per colors, subtotals de paginació, classificació avançada i filtre súper,
  • Més Seleccioneu / Insereix / Suprimeix / Text / Format / Enllaç / Comentari / Llibres / Eines de full de càlcul ...

Tret de pantalla de Kutools per a Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    John · 3 years ago
    Anybody know how to modify this code so that the formulas are carried over to the new sheets rather than just values?
    • To post as a guest, your comment is unpublished.
      Jelena · 3 years ago
      [quote name="John"]Anybody know how to modify this code so that the formulas are carried over to the new sheets rather than just values?[/quote]
      I need to preserve formulas, too. Thank you if any body could help.
  • To post as a guest, your comment is unpublished.
    Judalyn · 3 years ago
    The code seems o be working fine, however I am getting blank sheets for others, please help
  • To post as a guest, your comment is unpublished.
    NK · 3 years ago
    HI!

    Your codes is running perfectly, Really [i]thanks[/i] for the code,
    Its splitting the data but I've a total colum there in each sheets,

    Can you tell me how to handle that? while inserting data, a new data overrides the existing Total values so I'll need to insert a new before splitting the data.

    Can you help me in that?

    Thanks.
  • To post as a guest, your comment is unpublished.
    satya sai · 3 years ago
    can some one help how to delete heading from this code
  • To post as a guest, your comment is unpublished.
    sai · 3 years ago
    how to remove the header ? from the code ? which one i have to delete please help