Skip to main content

Come creare nuovi fogli per ogni riga in Excel?

Author: Siluvia Last Modified: 2025-08-06

Nella gestione dei dati o nei compiti di reporting, potrebbe essere necessario separare ogni record da una tabella in un proprio foglio di lavoro. Ad esempio, se mantieni un elenco di dettagli degli studenti in Excel, con ogni riga che rappresenta le informazioni di uno studente diverso, potresti voler generare un foglio separato per ogni studente, contenente i loro dati specifici. In alternativa, potresti semplicemente voler dividere ogni riga, indipendentemente dal suo contenuto, in modo che ciascuna venga inserita in un nuovo foglio di lavoro. Creare manualmente e copiare i dati in nuovi fogli può essere dispendioso in termini di tempo e soggetto a errori, specialmente se stai lavorando con un dataset di grandi dimensioni. Automatizzare questo processo risparmia tempo significativo e riduce il rischio di errori. Questa guida ti accompagna attraverso due soluzioni pratiche per creare nuovi fogli per ogni riga in Excel e spiega i pro e i contro di ciascun metodo per aiutarti a scegliere l'approccio migliore per il tuo scenario.

Crea nuovi fogli per ogni riga con il codice VBA
Crea nuovi fogli per ogni riga con l'utilità Split Data di Kutools per Excel


Crea nuovi fogli per ogni riga con il codice VBA

L'uso di VBA (Visual Basic for Applications) è un modo efficace per automatizzare compiti in Excel che altrimenti sarebbero noiosi e ripetitivi. Con VBA, puoi creare rapidamente nuovi fogli di lavoro per ogni riga dei tuoi dati, raggruppando le righe in base a una colonna (ad esempio, il nome dello studente), oppure creando un foglio per ogni singola riga indipendentemente dal contenuto. Questo approccio è ideale per gli utenti a proprio agio con l'editor VBA e che preferiscono una soluzione altamente personalizzabile. Tuttavia, richiede la modifica ed esecuzione del codice, quindi potrebbe non essere adatto agli utenti che non hanno esperienza con VBA o che non hanno il permesso di eseguire macro nel loro ambiente.

1. Premi "Alt" + "F11" per aprire la finestra Microsoft Visual Basic for Applications, che ti consente di accedere al codice VBA per automatizzare le operazioni di Excel.

2. Nella finestra Microsoft Visual Basic for Applications, clicca su Inserisci > Modulo per aggiungere un nuovo modulo di codice. Quindi copia e incolla il seguente codice nella finestra Modulo.

Codice VBA: crea un nuovo foglio per ogni riga basandosi sulla 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 dell'intestazione per la tua tabella dati. Regola questo riferimento per adattarlo alla tua area di intestazione effettiva, se necessario.
  • Il codice raccoglie valori unici dalla colonna specificata (di default, colonna A). Ogni valore unico ottiene il proprio foglio di lavoro con le righe corrispondenti.
  • Se la tua tabella è più larga o inizia da una riga diversa, aggiorna xTitle e i riferimenti delle celle di conseguenza.
  • Se il tuo foglio di lavoro contiene formule che fanno riferimento ad altri fogli, controlla i riferimenti dopo aver diviso.

3. Premi il tasto F5 o clicca su Esegui per eseguire il codice. Nuovi fogli di lavoro verranno creati dopo tutti i fogli esistenti nella cartella di lavoro corrente, ciascuno nominato in base al valore della colonna univoco scelto. Guarda lo screenshot qui sotto per un risultato di esempio:

A screenshot showing a new workbook with sheets created from each row based on column value

Se desideri semplicemente dividere ogni riga nel suo foglio di lavoro, indipendentemente dal contenuto della colonna, puoi utilizzare il seguente codice VBA alternativo. Questo elimina la necessità di specificare una condizione di 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 dal foglio di lavoro attivo - inclusa la riga di intestazione - verrà copiata in un nuovo foglio di lavoro appena creato. Nota che la riga di intestazione viene anche duplicata; se desideri evitarlo, potresti dover eliminare o regolare manualmente i fogli di output successivamente.

Risoluzione dei problemi e suggerimenti pratici:
- Se incontri un errore come "Indice fuori intervallo", assicurati che i nomi dei fogli non contengano caratteri non validi o nomi duplicati.
- Dataset di grandi dimensioni possono risultare in un numero elevato di fogli, il che può rallentare Excel o rendere la navigazione difficoltosa. Considera se dividere per riga è necessario per tabelle estremamente grandi.
- Mantieni sempre un backup dei tuoi dati prima di eseguire il codice VBA per prevenire la perdita involontaria di dati.

Vantaggi: Gratuito; altamente personalizzabile.
Svantaggi: Richiede VBA/macros abilitati e una certa familiarità con l'editor VBA; possibilità di errori di codice con dati complessi o insoliti.
Adatto per: Utenti che necessitano di flessibilità nello scripting, e per attività una tantum o irregolari.


Crea nuovi fogli per ogni riga con l'utilità Split Data di Kutools per Excel

Se preferisci un approccio semplice e user-friendly senza scrivere codice, l'utilità Split Data di Kutools per Excel è altamente raccomandata. Questa funzione ti aiuta a dividere i dati in nuovi fogli di lavoro rapidamente con pochi clic, semplificando notevolmente il processo di gestione dei fogli di lavoro. Kutools è particolarmente utile per gli utenti che gestiscono regolarmente tabelle grandi e complesse o che preferiscono interfacce grafiche rispetto alla codifica manuale. Nota che Kutools è un componente aggiuntivo di Excel e deve essere installato in anticipo.

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 la tabella contenente i dati che desideri dividere in fogli di lavoro individuali. Quindi, clicca sulla scheda Kutools Plus e seleziona Split Data. Consulta lo screenshot qui sotto per chiarezza:

A screenshot of the 'Split Data' option under the Kutools Plus tab in Excel

2. Nella finestra di dialogo Dividi dati in più fogli di lavoro, scegli le impostazioni appropriate in base alle tue esigenze di divisione.

A. Per creare nuovi fogli basati sui valori delle colonne:

1). Seleziona l'opzione Colonna specifica, e poi specifica la colonna che desideri utilizzare come base per la suddivisione - tipicamente un identificatore univoco come il nome dello studente o l'ID.
2). Se vuoi che ogni foglio sia nominato in base al suo valore in quella colonna, scegli Valori della Colonna dal menu a discesa Regole.
3). Clicca OK per eseguire la divisione. Guarda lo screenshot qui sotto:

A screenshot of the 'Split Data into Multiple Worksheets' dialog box with settings for splitting by column value

B. Per creare direttamente nuovi fogli per ogni riga:

1). Seleziona l'Righe fisse opzione, e inserisci 1 nella casella per indicare che ogni foglio di lavoro dovrebbe contenere solo una riga di dati.
2). Per il menu a discesa Regole, seleziona Numeri di Riga per etichettare ogni foglio con il suo indice di riga.
3). Clicca OK per avviare il processo di suddivisione. Consulta lo screenshot qui sotto:

A screenshot of the 'Split Data into Multiple Worksheets' dialog box with settings for splitting by row

Dopo l'esecuzione, verrà generata una nuova cartella di lavoro contenente tutti i nuovi fogli di lavoro - ciascuno popolato in base alle impostazioni che hai selezionato.

Creazione di nuovi fogli per ogni riga basandosi sui valori delle colonne:

A screenshot showing a new workbook with sheets created from each row based on column value

Creazione di un nuovo foglio per ogni riga senza considerare i valori delle colonne:

A screenshot showing a new workbook with sheets created from each row without considering the column value

Precauzioni e suggerimenti pratici:
- Prima di utilizzare l'utilità Split Data, assicurati che non ci siano righe vuote nella tua tabella, poiché queste possono risultare in fogli vuoti.
- Rivedi le convenzioni di denominazione dei fogli per evitare nomi duplicati o non validi; Kutools regolerà automaticamente in caso di conflitto di nomi.
- Il processo può generare un numero elevato di fogli di lavoro se la tua tabella è molto grande, quindi considera questo prima di procedere.

Vantaggi: Facile da usare senza necessità di codifica; adatto per l'elaborazione in batch e attività frequenti.
Svantaggi: Richiede l'installazione del componente aggiuntivo Kutools.
Adatto per: Tutti i livelli di utenti Excel, specialmente quelli che gestiscono la segmentazione dei dati ripetitiva.

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


Demo: Crea nuovi fogli per ogni riga con l'utilità Split Data di Kutools per Excel

 
Kutools per Excel: Oltre 300 strumenti utili a portata di mano! Goditi funzionalità AI gratuite per sempre! Scarica Ora!

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
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca 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 a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di 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 & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. 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 su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura 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 ti fa risparmiare centinaia di clic ogni giorno!