Come creare un nuovo foglio per ogni riga in Excel?
Nelle attività di gestione dati o reporting, potrebbe capitarti di dover separare ogni record di una tabella nel proprio foglio di lavoro. Ad esempio, se gestisci un elenco di dati relativi agli studenti in Excel, con ogni riga che rappresenta le informazioni di uno studente diverso, potresti voler generare un foglio distinto per ciascuno studente, contenente solo i suoi dati specifici. In alternativa, potresti semplicemente desiderare di suddividere ogni riga—indipendentemente dal suo contenuto—in modo che ognuna venga inserita in un Nuovo foglio di lavoro a sé stante. Creare e copiare manualmente i dati in nuovi fogli può risultare dispendioso in termini di tempo e soggetto a errori, specialmente se si lavora con un dataset di grandi dimensioni. Automatizzare questa procedura consente di risparmiare molto tempo e ridurre il rischio di errori. Questa guida ti illustra due soluzioni pratiche per creare nuovi fogli per ogni riga in Excel e spiega vantaggi e svantaggi di ciascun metodo per aiutarti a scegliere l’approccio migliore per il tuo caso d’uso.
Crea nuovi fogli per ogni riga con codice VBA
Crea nuovi fogli per ogni riga con l’utilità Suddividi dati di Kutools per Excel
Crea nuovi fogli per ogni riga con codice VBA
L’utilizzo di VBA (Visual Basic for Applications) è un modo efficace per automatizzare in Excel attività altrimenti noiose e ripetitive. Con VBA puoi creare rapidamente un nuovo foglio di lavoro per ogni riga dei tuoi dati, raggruppando le righe in base a una colonna specifica (ad esempio il nome dello studente) oppure generando un foglio separato per ciascuna riga, indipendentemente dal contenuto. Questo approccio si rivela ideale per utenti già a proprio agio con l’editor VBA e che cercano una soluzione altamente personalizzabile. Tuttavia, richiede la modifica e l’esecuzione di codice, risultando quindi poco adatto a chi non ha esperienza con VBA o non dispone dei permessi necessari per eseguire macro nel proprio ambiente.
1. Premi «Alt» + "F11" per aprire la finestra Microsoft Visual Basic for Applications, che ti consente di accedere al codice VBA per automatizzare operazioni in Excel.
2. Nella finestra Microsoft Visual Basic for Applications, fai clic su Inserisci > Modulo per aggiungere un nuovo modulo di codice. Copia quindi il seguente codice e incollalo nella finestra del modulo.
Codice VBA: crea un nuovo foglio per ogni riga in base a una colonna
Sub parse_data()
'Update by Extendoffice 2018/3/2
Dim xRCount As Long
Dim xSht As Worksheet
Dim xNSht As Worksheet
Dim I As Long
Dim xTRrow As Integer
Dim xCol As New Collection
Dim xTitle As String
Dim xSUpdate As Boolean
Set xSht = ActiveSheet
On Error Resume Next
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
xTitle = "A1:C1"
xTRrow = xSht.Range(xTitle).Cells(1).Row
For I = 2 To xRCount
Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
Next
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCol.Count
Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Set xNSht = Nothing
Set xNSht = Worksheets(CStr(xCol.Item(I)))
If xNSht Is Nothing Then
Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Else
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Next
xSht.AutoFilterMode = False
xSht.Activate
Application.ScreenUpdating = xSUpdate
End Sub Spiegazione dei parametri e suggerimenti per l’uso:
- A1:C1 è l'intervallo di intestazione della tabella dati. Modifica questo riferimento in base all'area effettiva delle intestazioni dei tuoi dati, se necessario.
- Il codice estrae i valori univoci dalla colonna specificata (di default, la colonna A) e assegna a ciascuno un foglio di lavoro dedicato contenente le righe corrispondenti.
- Se la tua tabella è più ampia o inizia da una riga diversa, aggiorna
xTitlee i riferimenti di cella di conseguenza. - Se il tuo foglio di lavoro contiene formule che fanno riferimento ad altri fogli, controlla i riferimenti dopo averlo suddiviso.
3. Premi il tasto F5 oppure fai clic su Esegui per avviare il codice. I nuovi fogli di lavoro verranno creati dopo tutti i fogli esistenti nella cartella di lavoro corrente, ciascuno denominato in base al valore univoco della colonna scelta. Consulta lo screenshot qui sotto per un esempio di risultato:

Se desideri semplicemente suddividere ogni riga in un foglio di lavoro separato, indipendentemente dal contenuto della colonna, puoi utilizzare il seguente codice VBA alternativo — così non dovrai specificare alcuna condizione basata su una colonna.
Codice VBA: crea direttamente un nuovo foglio per ogni riga
Sub RowToSheet()
Dim xRow As Long
Dim I As Long
With ActiveSheet
xRow = .Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To xRow
Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
.Rows(I).Copy Sheets("Row " & I).Range("A1")
Next I
End With
End Sub Dopo aver eseguito questo codice nel modulo, ogni riga del foglio attivo — inclusa quella di intestazione — verrà copiata in un nuovo foglio di lavoro appena creato. Tieni presente che anche l’intestazione viene duplicata; se preferisci evitarlo, dovrai eliminare o modificare manualmente i fogli generati in un secondo momento.
Risoluzione problemi e suggerimenti pratici:
- Se incontri un errore come «Indice fuori intervallo», assicurati che i nomi dei fogli non contengano caratteri non validi o rimuovi i nomi duplicati.
- I dataset di grandi dimensioni possono generare un numero elevato di fogli, rallentando Excel o rendendo difficoltosa la navigazione. Valuta attentamente se la suddivisione per riga sia davvero necessaria per tabelle estremamente grandi.
- Conserva sempre un backup dei tuoi dati prima di eseguire codice VBA per evitare perdite accidentali.
Vantaggi: Gratuito e altamente personalizzabile.
Svantaggi: Richiede l’abilitazione di VBA/macro e una certa familiarità con l’editor VBA; possibili errori nel codice con dati complessi o insoliti.
Ideale per: Utenti che cercano flessibilità tramite scripting e devono gestire attività occasionali o non ripetitive.
Crea nuovi fogli per ogni riga con l’utilità Suddividi dati di Kutools per Excel
Se preferisci un approccio semplice e intuitivo senza scrivere codice, ti consigliamo vivamente l’utilità Suddividi dati di Kutools per Excel. Questa funzione ti permette di suddividere i dati in un nuovo foglio di lavoro rapidamente con pochi clic, semplificando notevolmente la gestione dei tuoi file. Kutools è particolarmente utile per chi gestisce regolarmente tabelle ampie e complesse o preferisce un’interfaccia grafica alla programmazione manuale. Ricorda che Kutools è un componente aggiuntivo per Excel e deve essere installato in anticipo.
1. Seleziona la tabella contenente i dati che desideri suddividere in fogli di lavoro individuali. Poi, fai clic sulla scheda KUTOOLS PLUS e seleziona Suddividi dati. Per maggiore chiarezza, consulta lo screenshot qui sotto:

2. Nella finestra di dialogo Suddividi dati in più schede, seleziona le impostazioni più adatte alle tue esigenze di suddivisione.
A. Per creare nuovi fogli in base ai valori presenti in una colonna:

B. Per creare direttamente un nuovo foglio per ogni riga:

Al termine dell’operazione, verrà generato un nuovo workbook contenente tutti i nuovi fogli di lavoro, ciascuno popolato in base alle impostazioni selezionate.
Creazione di nuovi fogli per ogni riga in base ai valori di una colonna:

Creazione di un nuovo foglio per ogni riga senza considerare i valori della colonna:

Precauzioni e suggerimenti pratici:
- Prima di utilizzare l’utilità Suddividi dati, assicurati che la tua tabella non contenga righe vuote, poiché potrebbero generare fogli vuoti.
- Verifica le convenzioni di denominazione dei fogli per evitare nomi di foglio di lavoro duplicati o non validi; Kutools regolerà automaticamente i nomi in caso di conflitto.
- Il processo può generare un gran numero di fogli di lavoro se la tua tabella è molto grande, quindi valuta attentamente se procedere.
Vantaggi: Facile da usare, non richiede codice; perfetto per elaborazioni batch e attività ricorrenti.
Svantaggi: Richiede l’installazione del componente aggiuntivo Kutools.
Ideale per: Utenti di tutti i livelli, in particolare chi gestisce regolarmente segmentazioni ripetitive dei dati.
Kutools per Excel– Potenzia Excel con oltre 300 strumenti essenziali, rendendo il tuo lavoro più veloce e semplice, e sfrutta le funzionalità basate sull’IA per un’elaborazione dati più intelligente e una maggiore produttività.Scaricalo ora
Demo: crea nuovi fogli per ogni riga con l’utilità Suddividi dati di Kutools per Excel
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità 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 all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi