Skip to main content

Come dividere una grande tabella in più tabelle più piccole in Excel?

Author: Xiaoyang Last Modified: 2025-05-29

Se hai una grande tabella Excel con più colonne e centinaia o migliaia di righe, potresti volerla dividere in tabelle più piccole e gestibili. Ad esempio, potresti dover separare i dati in base ai valori di una colonna specifica o dividerli in blocchi di un numero fisso di righe. Questo tutorial fornisce metodi passo-passo per eseguire questa operazione in modo efficiente.

Tabella principale   Dividi la tabella in più tabelle in base al valore della colonna Dividi la tabella in più tabelle in base al conteggio delle righe
A screenshot of a large table in Excel before splitting Arrow A screenshot of an Excel table split by column values A screenshot of an Excel table split by row count

Dividi una grande tabella in più tabelle in base al valore della colonna con il codice VBA

Dividi una grande tabella in più tabelle in base a un numero specifico di righe con il codice VBA

Dividi una grande tabella in più tabelle in base al valore della colonna o al numero di righe con Kutools per Excel


Dividi una grande tabella in più tabelle in base al valore della colonna con il codice VBA

Per dividere questa grande tabella in più tabelle in base a un valore di colonna specifico, il seguente codice VBA può esserti utile. Procedi come segue:

1. Tieni premuti i tasti "ALT" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".

2. Clicca su "Inserisci" > "Modulo", e incolla il seguente codice nella finestra "Modulo".

Codice VBA: Dividi una grande tabella in più tabelle in base alla 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, premi il tasto "F5" per eseguirlo, e apparirà una finestra di dialogo; seleziona la riga dell'intestazione dai tuoi dati, vedi screenshot:

A screenshot showing how to select the header row for splitting tables

4. Poi, clicca su "OK", e apparirà un'altra finestra di dialogo; seleziona i dati della colonna in base ai quali vuoi dividere la tabella, vedi screenshot:

A screenshot showing how to select the column for splitting tables by values

5. Clicca su "OK". La grande tabella è ora stata divisa in più fogli di lavoro in base ai valori della colonna, con i nuovi fogli posizionati dopo il foglio principale. I nuovi fogli sono nominati con il valore della colonna. Vedi screenshot:

A screenshot showing multiple worksheets created after splitting by column values


Dividi una grande tabella in più tabelle in base a un numero specifico di righe con il codice VBA

Se hai bisogno di dividere la tabella in più tabelle in base al numero di righe, il seguente codice VBA può aiutarti.

1. Tieni premuti i tasti "ALT" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".

2. Clicca su "Inserisci" > "Modulo", e incolla il seguente codice nella finestra "Modulo".

Codice VBA: Dividi una grande tabella in più tabelle in base al 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. Poi, premi il tasto "F5", nella finestra di dialogo che appare, seleziona la riga dell'intestazione, vedi screenshot:

A screenshot showing how to select the header row for splitting by row count

4. Poi, clicca su "OK", e nella seconda finestra di dialogo, seleziona l'intervallo di dati che vuoi dividere in base al conteggio delle righe, vedi screenshot:

A screenshot showing how to select the data range for splitting by rows

5. Dopodiché, continua a cliccare sul pulsante "OK", nella terza finestra di dialogo, inserisci il numero di righe in base al quale vuoi dividere, vedi screenshot:

A screenshot showing how to enter the number of rows for splitting in Excel

6. Poi, clicca sul pulsante "OK", la tabella principale è stata divisa in più fogli di lavoro in base al numero di righe come mostrato nello screenshot qui sotto:

A screenshot of multiple worksheets created after splitting by row count


Dividi una grande tabella in più tabelle in base al valore della colonna o al numero di righe con Kutools per Excel

I codici sopra potrebbero essere difficili per la maggior parte degli utenti, qui ti presenterò una funzione straordinaria - "Suddividi dati" di "Kutools per Excel". Con questo strumento, puoi dividere rapidamente e facilmente una grande tabella in più tabelle in base alla colonna chiave o al numero di righe.

Kutools per Excel offre oltre 300 funzionalità avanzate per semplificare compiti complessi, aumentando creatività ed efficienza. Integrato con capacità di intelligenza artificiale, Kutools automatizza le attività con precisione, rendendo la gestione dei dati senza sforzo. Informazioni dettagliate su Kutools per Excel... Prova gratuita...

1. Seleziona l'intervallo di dati che desideri dividere, quindi clicca su "Kutools Plus" > "Suddividi dati", vedi screenshot:

2. Nella finestra di dialogo "Suddividi dati in più schede", specifica le impostazioni secondo le tue esigenze:

(1.) Seleziona "Specifica colonna" o "Valore fisso" dalla sezione "Base di suddivisione" come necessario;

(2.) Specifica il nome dei nuovi fogli di lavoro dall'elenco a discesa "Regola", puoi aggiungere anche un "Prefisso" o un "Suffisso" ai nomi dei fogli.

A screenshot showing settings for splitting data using Kutools

3. Poi, clicca sul pulsante "Ok", e ora, la grande tabella è stata divisa in più tabelle più 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 conteggio delle righe
A screenshot of an Excel table split into worksheets by column values using Kutools A screenshot of an Excel table split into worksheets by row count using Kutools

Kutools per Excel - Potenzia Excel con oltre 300 strumenti essenziali. Goditi funzionalità AI gratuite per sempre! Ottienilo ora


Altri articoli correlati:

  • Dividi una cartella di lavoro in file Excel separati in Excel
  • Potrebbe essere necessario dividere una grande cartella di lavoro in file Excel separati salvando ogni foglio di lavoro della cartella come un file Excel individuale. Ad esempio, puoi dividere una cartella di lavoro in più file Excel individuali e poi consegnare ciascun file a persone diverse per gestirlo. In questo modo, puoi far sì che determinate persone gestiscano dati specifici e mantenere i tuoi dati al sicuro. Questo articolo introdurrà modi per dividere una grande cartella di lavoro in file Excel separati basandosi su ogni foglio di lavoro.
  • Dividi il nome completo in nome e cognome in Excel
  • Supponendo di avere un elenco di nomi come mostra la prima schermata in una singola colonna qui sotto, e devi dividere il nome completo in una colonna del nome, una colonna del secondo nome e una colonna del cognome come mostrato nella schermata successiva. Ecco alcuni metodi ingegnosi per aiutarti a risolvere questo problema.
  • Dividi parole o numeri in celle separate in Excel
  • Se hai un elenco di numeri o parole in un foglio di lavoro, e ora devi dividere il contenuto delle celle in lettere su celle diverse come mostrato nella schermata seguente, come puoi affrontare questo compito in Excel?

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l'analisi dei dati grazie a: Esecuzione Intelligente | Genera Codice | Crea Formule Personalizzate | Analizza Dati e Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • 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, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!