Come dividere i dati in più fogli di lavoro in base alla colonna in Excel?
Supponendo di avere un foglio di lavoro con enormi righe di dati e ora, è necessario dividere i dati in più fogli di lavoro in base al Nome colonna (vedi screenshot seguente), ei nomi vengono inseriti in modo casuale. Forse puoi prima ordinarli, quindi copiarli e incollarli uno per uno in altri nuovi fogli di lavoro. Ma questo richiederà la tua pazienza per copiare e incollare ripetutamente. Oggi parlerò di alcuni trucchi rapidi per risolvere questo compito.
Suddividi i dati in più fogli di lavoro in base alla colonna con codice VBA
Dividi i dati in più fogli di lavoro in base alla colonna con Kutools per Excel
Suddividi i dati in più fogli di lavoro in base alla colonna con codice VBA
Se desideri dividere i dati in base al valore della colonna in modo rapido e automatico, il seguente codice VBA è una buona scelta. Per favore, fai come segue:
1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
2. Clic inserire > Modulie incolla il codice seguente nella finestra del modulo.
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. Quindi, premere F5 chiave per eseguire il codice e viene visualizzata una finestra di messaggio per ricordarti di selezionare la riga di intestazione, vedi screenshot:
4. Quindi fare clic su OK pulsante e nella seconda finestra di messaggio, selezionare i dati della colonna su cui si desidera suddividere in base, vedere screenshot:
5. Quindi, fare clic OKe tutti i dati nel foglio di lavoro attivo vengono suddivisi in più fogli di lavoro in base al valore della colonna. E i fogli di lavoro divisi sono denominati con i nomi delle celle divise. Vedi screenshot:
Note:: I fogli di lavoro divisi vengono posizionati alla fine della cartella di lavoro in cui si trova il foglio di lavoro principale.
Dividi i dati in più fogli di lavoro in base alla colonna con Kutools per Excel
Come principiante di Excel, questo lungo codice VBA è alquanto difficile per noi e la maggior parte di noi non sa nemmeno come modificare il codice secondo le nostre necessità. Qui ti presenterò uno strumento multifunzionale:Kutools for Excel, suo Split Data l'utilità non solo può aiutarti a dividere i dati in più fogli di lavoro in base alla colonna, ma può anche dividere i dati per numero di righe.
Nota:Per applicare questo Split Data, in primo luogo, dovresti scaricare il file Kutools for Excele quindi applica la funzione in modo rapido e semplice.
Dopo l'installazione Kutools for Excel, per favore fai come questo:
1. Seleziona l'intervallo di dati che desideri dividere.
2. Clic Kutools Plus > Foglio di lavoro > Split Data, vedi screenshot:
3. Nel Suddividi i dati in più fogli di lavoro finestra di dialogo, è necessario:
1). Selezionare Colonna specifica opzione nel Dividi in base a sezione e scegli il valore della colonna su cui desideri suddividere i dati in base nell'elenco a discesa. (Se i tuoi dati hanno intestazioni e desideri inserirli in ogni nuovo foglio di lavoro diviso, controlla I miei dati hanno intestazioni opzione.)
2). Quindi puoi specificare i nomi dei fogli di lavoro divisi, sotto il file Nuovo nome dei fogli di lavoro sezione, specificare le regole dei nomi dei fogli di lavoro dal file Regole elenco a discesa, è possibile aggiungere il file Prefisso or Suffisso anche per i nomi dei fogli.
3). Clicca il OK pulsante. Vedi screenshot:
4. Ora i dati vengono suddivisi in più fogli di lavoro in una nuova cartella di lavoro.
Fai clic per scaricare Kutools per Excel e prova gratuita ora!
Dividi i dati in più fogli di lavoro in base alla colonna con Kutools per Excel
Kutools for Excel include più di 300 utili strumenti Excel. Prova gratuita senza limitazioni per 30 giorni. Scarica subito la versione di prova gratuita!
Articolo correlato:
Come dividere i dati in più fogli di lavoro in base al conteggio delle righe?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!