Come dividere una grande tabella in più piccole tabelle in Excel?
Se si dispone di un foglio di lavoro di grandi dimensioni che contiene più colonne e centinaia o migliaia di dati di righe, ora si desidera dividere questa tabella di grandi dimensioni in più tabelle piccole in base al valore della colonna o al numero di righe per ottenere i seguenti risultati. Come hai potuto gestire questa attività in Excel?
Tabella principale | Dividi la tabella in più tabelle in base al valore della colonna | Dividi la tabella in più tabelle in base al numero di righe | |
Dividi una tabella di grandi dimensioni in più tabelle in base al valore della colonna con codice VBA
Per dividere questa tabella di grandi dimensioni in più tabelle in base a un valore di colonna specifico, il seguente codice VBA può farti un favore. 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 nel file Moduli Finestra.
Codice VBA: dividi una tabella di grandi dimensioni in più tabelle per colonna chiave:
Sub Splitdatabycol()
'by 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
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. Dopo aver incollato il codice, premere F5 chiave per eseguire questo codice e viene visualizzata una finestra di messaggio, selezionare la riga di intestazione dai dati, vedere screenshot:
4. Quindi, fare clic OKe viene visualizzata un'altra finestra di dialogo, selezionare i dati della colonna su cui si desidera dividere la tabella, vedere screenshot:
5. Clic OK, questa grande tabella è stata suddivisa in più fogli di lavoro in base al valore della colonna che si trova dopo il foglio principale. E i nuovi fogli di lavoro sono denominati con il valore della colonna. Vedi screenshot:
Dividi una tabella di grandi dimensioni in più tabelle in base al numero specifico di righe con codice VBA
Se devi dividere la tabella in più tabelle in base al numero di righe, il seguente codice VBA può aiutarti.
1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
2. Clic inserire > Modulie incolla il codice seguente nel file Moduli Finestra.
Codice VBA: dividi una tabella di grandi dimensioni in più tabelle per numero di righe:
Sub Splitdatabyrows()
'Updated by Extendoffice
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (xIER - xRow.Row + 1) < SplitRow Then
resizeCount = (xIER - xRow.Row + 1)
End If
xRow.Resize(resizeCount).Copy
Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
If xIER > (xRow.Row + SplitRow - 1) Then
xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
ElseIf xIER = xRow.Row Then
xWs.Name = xRow.Row
Else
xWs.Name = xRow.Row & " - " & xIER
End If
Application.ActiveSheet.Range("A1").PasteSpecial
Set xNTRg = Application.ActiveSheet.Range("A1")
xTRg.Copy
xNTRg.Insert
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Quindi, premere F5 chiave, nella finestra di dialogo visualizzata, seleziona la riga di intestazione, vedi screenshot:
4. Quindi, fare clic OKe nella seconda finestra di messaggio, seleziona l'intervallo di dati che desideri dividere per numero di righe, vedi screenshot:
5. E poi, continua a fare clic OK pulsante, nella terza finestra di messaggio, inserisci il numero di righe in base alle quali desideri dividere, vedi screenshot:
6. Quindi, fare clic OK pulsante, la tabella principale è stata suddivisa in più fogli di lavoro in base al numero di righe come mostrato nell'immagine sottostante:
Dividi una tabella di grandi dimensioni in più tabelle in base al valore della colonna o al numero di righe con una funzionalità straordinaria
Potrebbe essere che i codici sopra riportati siano difficili per la maggior parte degli utenti, qui introdurrò una funzionalità straordinaria-Split Data of Kutools for Excel. Con questa utility, puoi dividere una tabella di grandi dimensioni in più tabelle in base alla colonna chiave o al numero di righe in modo rapido e semplice.
Suggerimenti: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, quindi fai clic su Kutools Plus > Split Data, vedi screenshot:
2. Nel Suddividi i dati in più fogli di lavoro finestra di dialogo, specificare le impostazioni in base alle proprie esigenze:
(1.) Seleziona Colonna specifica or Righe fisse dal Dividi in base a sezione di cui hai bisogno;
(2.) Specificare il nuovo nome del foglio di lavoro dal file Regole elenco a discesa, è possibile aggiungere il file Prefisso or Suffisso anche ai nomi dei fogli.
3. Quindi, fare clic Ok e ora la tabella grande è stata suddivisa in più tabelle piccole in una nuova cartella di lavoro. Vedi screenshot:
Dividi la tabella in più tabelle in base al valore della colonna | Dividi la tabella in più tabelle in base al numero di righe |
Fai clic per scaricare Kutools per Excel e prova gratuita ora!
Articoli più relativi:
- Dividi una cartella di lavoro per separare i file Excel in Excel
- Potrebbe essere necessario dividere una cartella di lavoro di grandi dimensioni per separare i file Excel salvando ogni foglio di lavoro della cartella di lavoro come un singolo file Excel. Ad esempio, puoi dividere una cartella di lavoro in più file Excel individuali e quindi consegnare ogni file a una persona diversa per gestirlo. In questo modo, puoi ottenere che determinate persone gestiscano dati specifici e mantengano i tuoi dati al sicuro. Questo articolo introdurrà i modi per dividere una grande cartella di lavoro per separare i file Excel in base a ciascun foglio di lavoro.
- Dividi il nome completo in nome e cognome in Excel
- Supponendo che tu abbia un elenco di nomi come la prima schermata viene mostrata nella singola colonna di seguito, e devi dividere il nome completo nella colonna del nome , colonna del secondo nome e colonna del cognome come mostrato nella seguente schermata. Ecco alcuni metodi complicati per aiutarti a risolvere questo problema.
- Dividi una colonna lunga in più colonne in Excel
- Se hai una lunga colonna di dati in Excel che sarà fastidioso durante la visualizzazione. Ma ora se puoi dividere un elenco così lungo in più colonne in Excel, renderà la visualizzazione comoda.
- Dividi la parola o il numero in celle separate in Excel
- Se hai un elenco di numeri o parole in un foglio di lavoro e ora devi dividere il contenuto della cella in lettere su celle diverse come mostrato nella seguente schermata, come puoi gestire questo lavoro in Excel?
- Dividi un lungo elenco in gruppi uguali in Excel
- Se hai un lungo elenco di dati che devono essere suddivisi in più gruppi uguali come mostrato nella seguente schermata, come potresti gestire questa attività rapidamente e facilmente in Excel?
I migliori strumenti per la produttività in ufficio
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
- Unisci celle / righe / colonne e conservazione dei dati; Contenuto delle celle divise; Combina righe duplicate e somma / media... Impedisci celle duplicate; Confronta intervalli...
- Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
- Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
- Formule preferite e di inserimento rapido, Intervalli, grafici e immagini; Crittografa celle con password; Crea mailing list e invia email ...
- Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
- Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
- Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
- Raggruppamento tabelle pivot per numero della settimana, giorno della settimana e altro ... Mostra celle sbloccate e bloccate da diversi colori; Evidenzia le celle che hanno formula / nome...
- 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!