Dividi fogli Excel in file individuali (Manuale e Automatico)

2025-09-19 03:20:00 zaki zou

Dividere Fogli Excel

Excel è uno degli strumenti più utilizzati per la gestione di dati strutturati, dai modelli finanziari ai report sulle vendite e tutto il resto. Ma man mano che le cartelle di lavoro diventano più grandi, con più fogli di lavoro che coprono diversi argomenti o dipartimenti, gestirle e condividerle diventa ingombrante.

Immagina una situazione in cui desideri inviare solo il foglio di lavoro Vendite al team di vendita, il foglio di lavoro Risorse Umane al dipartimento Risorse Umane e il foglio di lavoro Finanza al tuo commercialista. Tenere tutto all'interno di un'unica gigantesca cartella di lavoro rende tutto complicato. La soluzione migliore è dividere i fogli di Excel in file separati, in modo che ogni destinatario riceva solo i dati di cui ha bisogno.

In questo articolo, esploreremo tre metodi comprovati per raggiungere questo obiettivo. Inizieremo con un rapido metodo manuale, passeremo alle macro VBA all'interno di Excel e finiremo con un approccio Python perfetto per sviluppatori e scenari di automazione.

Perché dividere i fogli di Excel in file separati?

Ci sono diverse ragioni pratiche per cui dividere una cartella di lavoro in più file è utile:

  1. Condivisione selettiva: non tutti gli stakeholder hanno bisogno dell'accesso a tutti i dati. Dividere i fogli ti consente di distribuire solo i file pertinenti.
  2. Prestazioni migliorate: cartelle di lavoro di grandi dimensioni con molti fogli possono diventare lente da aprire ed elaborare. Dividerle in file più piccoli migliora le prestazioni.
  3. Migliore organizzazione: file separati possono rendere più strutturata la gestione dei progetti e la reportistica.
  4. Automazione e reportistica: la divisione fa spesso parte di flussi di lavoro automatizzati in cui vengono generati report diversi per dipartimenti diversi.
  5. Controllo versione: i file più piccoli sono più facili da tracciare e mantenere nei sistemi di controllo versione rispetto a un'unica gigantesca cartella di lavoro.

Che tu sia un utente quotidiano di Excel o uno sviluppatore che crea pipeline di reportistica automatizzate, la divisione dei fogli è un compito che vale la pena padroneggiare.

Trucco manuale rapido: copiare fogli in nuove cartelle di lavoro

Se hai solo bisogno di dividere alcuni fogli e non ti dispiace fare qualche clic, l'interfaccia integrata di Excel fornisce un modo semplice per farlo.

Come funziona:

  1. Apri la tua cartella di lavoro usando MS Excel.
  2. Fai clic con il pulsante destro del mouse sulla scheda del foglio che desideri separare e seleziona Sposta o copia....
  3. Nel menu a discesa Nella cartella:, seleziona (nuova cartella).
  4. Spunta la casella Crea una copia, quindi fai clic su OK.
  5. Salva la nuova cartella di lavoro con un nuovo nome.
  6. Ripeti questo processo per ogni foglio che desideri dividere in un file individuale.

Pro:

  • Non richiede competenze di programmazione.
  • Integrato direttamente in Excel — non è necessaria alcuna installazione.
  • Semplice e affidabile per compiti una tantum.

Contro:

  • Richiede molto tempo se devi dividere molti fogli.
  • Soggetto a errori (dimenticare di salvare o rinominare correttamente i file).
  • Nessuna automazione — devi ripetere i passaggi manualmente ogni volta.

Ideale per:

  • Utenti che raramente hanno bisogno di dividere i fogli.
  • Compiti rapidi e occasionali in cui solo un paio di fogli necessitano di separazione.

Automazione in Excel: Macro VBA per dividere i fogli

Per un uso più frequente, l'editor VBA (Visual Basic for Applications) integrato di Excel fornisce un modo per automatizzare la divisione. Con una piccola macro, Excel può scorrere ogni foglio di lavoro e salvarlo come una nuova cartella di lavoro, risparmiando ore di lavoro manuale.

Come funziona:

  1. Apri Excel e premi Alt + F11 per aprire l'editor VBA.
  2. Vai su Inserisci > Modulo.
  3. Incolla il seguente codice nella finestra del modulo:
  4. Sub SplitSheetsIntoWorkbooks()
        Dim ws As Worksheet
        Dim newWorkbook As Workbook
        Dim originalWorkbook As Workbook
    
        Set originalWorkbook = ThisWorkbook
        Application.ScreenUpdating = False
    
        For Each ws In originalWorkbook.Worksheets
            ws.Copy
            Set newWorkbook = ActiveWorkbook
            newWorkbook.SaveAs Filename:=originalWorkbook.Path & "\" & ws.Name & ".xlsx"
            newWorkbook.Close SaveChanges:=False
    Next ws
    
    MsgBox "Tutti i fogli sono stati salvati come file separati!"
    End Sub
    
  5. Premi F5 (o vai su > Esegui Sub/UserForm) per eseguire la macro.
  6. Excel creerà file separati per ogni foglio di lavoro nella stessa cartella della tua cartella di lavoro originale.

Pro:

  • Completamente automatizzato — un clic e ogni foglio viene esportato.
  • Integrato in Excel — non è necessario alcun software aggiuntivo.
  • Risparmia una quantità significativa di tempo rispetto all'approccio manuale.

Contro:

  • Richiede l'abilitazione delle macro, che alcune organizzazioni limitano per motivi di sicurezza.
  • Il VBA è alquanto obsoleto e il debug degli errori può essere frustrante per i principianti.
  • Flessibilità limitata (ad esempio, la gestione di cartelle di lavoro molto grandi o regole di esportazione personalizzate richiede la modifica della macro).

Ideale per:

  • Utenti di Excel di livello intermedio o avanzato.
  • Scenari in cui è necessario dividere frequentemente i fogli nelle cartelle di lavoro.

Automazione con Python: salvare ogni foglio di lavoro come un file

Se sei uno sviluppatore o hai bisogno della massima flessibilità, Python offre un approccio moderno. Utilizzando librerie come Spire.XLS for Python, puoi elaborare i file di Excel programmaticamente e dividere i fogli in blocco. Questo è ideale per flussi di lavoro che coinvolgono file di grandi dimensioni, più cartelle di lavoro o l'integrazione con altri sistemi.

Come funziona:

  1. Installa Python (se non ce l'hai già).
  2. Installa la libreria Spire.XLS for Python:
  3. pip install spire.xls
  4. Usa uno script come il seguente:
  5. from spire.xls import *
    from spire.xls.common import *
    
    # Create an object of the Workbook class
    workbook = Workbook()
    
    # Load an Excel file
    workbook.LoadFromFile("Sample.xlsx")
    
    # Specify the folder path for the generated Excel files
    folderPath = "C:\\Users\\Administrator\\Desktop\\Output\\"
    
    # Iterate through all worksheets in the Excel file
    for worksheet in workbook.Worksheets:
    
        # For each worksheet, create a new Workbook object
        newWorkbook = Workbook()
        # Remove the worksheets from the new workbook
        newWorkbook.Worksheets.Clear()
    
        # Copy the worksheet from the Excel file to the new workbook
        newWorkbook.Worksheets.AddCopy(worksheet)
    
        # Save the new workbook to the specified folder
        newWorkbook.SaveToFile(folderPath + worksheet.Name + ".xlsx", FileFormat.Version2016)
    
    workbook.Dispose()
    

Qui c'è la guida completa su come dividere Excel per fogli, righe e colonne in Python.

Pro:

  • Altamente flessibile — puoi estendere lo script per filtrare fogli, dividere per riga/colonna o esportare in CSV/PDF.
  • Perfetto per l'elaborazione batch e l'automazione su larga scala.
  • Si integra con altri sistemi e flussi di lavoro.

Contro:

  • Richiede alcune conoscenze di programmazione.
  • La configurazione iniziale (Python + librerie) richiede più tempo rispetto al VBA.

Ideale per:

  • Sviluppatori che automatizzano pipeline di dati.
  • Aziende con compiti di divisione grandi e ripetitivi.
  • Utenti avanzati che necessitano di più controllo di quello offerto dal VBA.

Riepilogo: quale metodo dovresti scegliere?

Dividere i fogli di Excel in file individuali è una sfida comune, ma il metodo giusto dipende dal tuo contesto:

  • Trucco manuale rapido: perfetto se hai solo bisogno di separare un paio di fogli una volta ogni tanto. È facile e non richiede alcuna codifica.
  • Macro VBA: il metodo preferito dagli utenti esperti di Excel. Una volta impostato, può far risparmiare ore di lavoro manuale, specialmente se dividi spesso le cartelle di lavoro.
  • Script Python: l'opzione migliore per gli sviluppatori o chiunque crei flussi di lavoro automatizzati. Fornisce pieno controllo, scalabilità e la capacità di estendere la soluzione per adattarla a complesse esigenze aziendali.

Alla fine della giornata, il metodo che scegli si riduce a quanto spesso hai bisogno di dividere i fogli e quanto ti senti a tuo agio con l'automazione. Gli utenti occasionali possono fare affidamento sull'interfaccia di Excel, mentre i professionisti traggono maggiori benefici dall'automazione VBA o Python.

Vedi anche