Come dividere un foglio di Excel in più fogli di lavoro (3 metodi)

  • Condividi Questo
Hugh West

Un set di dati di grandi dimensioni può contenere più valori basati sulla stessa colonna. Se si desidera, è possibile dividere i valori delle stesse categorie (Reparto, Mese, Regione, Stati, ecc.) o le proprie preferenze in diversi fogli di lavoro o cartelle di lavoro. In questo articolo spiegherò come dividere un foglio Excel in più fogli di lavoro.

Per rendere più chiara questa spiegazione, utilizzerò un set di dati di esempio. Nel set di dati ci sono 4 colonne che rappresentano le informazioni sulle vendite di diversi mesi. Queste colonne sono Addetto alle vendite, Regione, Mese, e Vendite .

Scaricare per esercitarsi

Dividere un foglio Excel in più fogli di lavoro.xlsm

Modi per dividere un foglio Excel in più fogli di lavoro

1. Utilizzo di Filtro e Copia

Da qualsiasi foglio, è possibile suddividere i dati in più fogli usando Filtro .

Per prima cosa, selezionare l'intervallo di celle in cui si desidera applicare la funzione Filtro .

Qui ho selezionato l'intervallo di celle B3:E15 .

Quindi, aprire il file Dati selezionare Filtro .

È inoltre possibile utilizzare CTRL + SHIFT + L per applicare Filtro utilizzando la tastiera .

Ora, Filtro viene applicato all'intervallo di celle selezionato.

Successivamente, fare clic sul pulsante Mese perché voglio dividere i dati in base a Mese valori.

Da lì ho deselezionato tutto, tranne Gennaio Infine, fare clic su OK .

Ora, tutti i valori in cui il valore Mese è Gennaio vengono filtrati.

Allora, Copia i dati e Incolla nel nuovo foglio di lavoro.

Qui ho dato un nome al nuovo foglio Gennaio. In questo modo, si vedranno tutte le informazioni sulle vendite per Gennaio è presentato qui.

Per il resto del Mesi è possibile seguire le stesse procedure.

Anche in questo caso, fare clic sul pulsante Mese perché voglio dividere i dati in base a Mese valori.

Da lì deselezionare tutto, tranne Febbraio Infine, fare clic su OK .

Ora, tutti i valori per Febbraio Mese vengono filtrati.

Allora, Copia i dati e Incolla nel nuovo foglio di lavoro.

In seguito, ho chiamato il nuovo foglio Febbraio. In questo modo, verranno visualizzate tutte le informazioni sulle vendite per il Mese di Febbraio è presentato qui.

Anche in questo caso, fare clic sul pulsante Mese perché voglio dividere i dati in base a Mese valori.

Da lì deselezionare tutto, tranne Marzo Infine, fare clic su OK .

Ora si vedranno tutti i valori di Marzo vengono filtrati.

Allora, Copia i dati e Incolla nel nuovo foglio di lavoro.

Alla fine, ho chiamato il nuovo foglio Marzo In questo modo, si vedranno tutte le informazioni sulle vendite di Marzo è presentato qui.

Per saperne di più: Dividere un foglio Excel in più fogli in base alle righe

2. Dividere il foglio Excel in base al conteggio delle righe utilizzando VBA

Prima di iniziare la procedura, è necessario ricordare che i dati devono partire dalle prime righe.

Ora, aprire il file Sviluppatore selezionare Visual Basic

Si aprirà una nuova finestra di Microsoft Visual Basic per le applicazioni .

Ora, da Inserire selezionare Modulo

A Modulo si aprirà lì.

Quindi, scrivere il seguente codice nella cartella Modulo .

 Sub SplitExcelSheet_into_MultipleSheets() Dim WorkRng As Range Dim xRow As Range Dim SplitRow As Integer Dim xWs As Worksheet On Error Resume Next EcelTitleId = "Split Row Numt" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", ExcelTitleId, WorkRng.Address, Type:=8) SplitRow = Application.InputBox("Split Row Num", ExcelTitleId, 4, Type:=1) Set xWs = WorkRng.ParentSet xRow = WorkRng.Rows(1) Application.ScreenUpdating = False For i = 1 To WorkRng.Rows.Count Step SplitRow resizeCount = SplitRow If (WorkRng.Rows.Count - xRow.Row + 1) <SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1 xRow.Resize(resizeCount).Copy Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)Application.ActiveSheet.Range("A1").PasteSpecial Set xRow = xRow.Offset(SplitRow) Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Qui, ho creato una sottoprocedura chiamata DividereFoglioExcel_in_MultipliFogli .

Dove ho dichiarato un paio di variabili, queste sono LavoroRing e xRow come Gamma tipo allora

DivisioneRiga come Intero anche xWs come Foglio di lavoro tipo.

Inoltre, usato ExcelTitleId per dare il finestra di dialogo titolo.

Ho fornito il numero di riga diviso 4 per dividere i dati per 4 righe perché nel mio set di dati il Mese di Gennaio ha 4 righe.

Infine, ha utilizzato un Per ciclo a Divisione della riga fino alla fine dell'intervallo di celle indicato.

Allora, Risparmiare il codice e tornare al foglio di lavoro.

Ora, aprire il file Sviluppatore scheda>> Da Inserire selezionare Pulsante

A finestra di dialogo apparirà.

Per assegnare il Macro nell'inserimento Pulsante .

Selezionare DividiFoglioExcel_in_MultipliFogli dal Nome della macro quindi fare clic su OK .

Basta fare clic sul pulsante Pulsante per eseguire il Macro .

Ora, un finestra di dialogo si aprirà una finestra in cui inserire i dati gamma.

Qui ho selezionato l'intervallo di celle B1:E12

Quindi, fare clic su OK .

Un altro finestra di dialogo si aprirà per mostrare il numero di righe selezionate, già fornito nel codice per dividere il set di dati.

➤ Nel codice, ho fornito 4 come Numero di riga divisa

Come ho in totale 12 file così con 4 file ci sarà 3 fogli .

In Foglio1 , si vedranno i dati delle prime 4 righe.

In Foglio2 , si vedranno i dati delle righe da 5 a 8.

In Foglio3 , si vedranno i dati delle ultime 4 righe.

Per saperne di più: Excel VBA: suddivisione di un foglio in più fogli in base alle righe

Letture simili

  • Come dividere lo schermo in Excel (3 modi)
  • [Excel non funziona con la vista affiancata
  • Come separare i fogli in Excel (6 modi efficaci)
  • Aprire due file Excel separatamente (5 metodi semplici)
  • Come dividere un foglio Excel in più file (3 metodi rapidi)

3. Dividere il foglio Excel in più cartelle di lavoro in base alle colonne

Prima di iniziare la procedura, è necessario ricordare che i dati devono partire dalla prima riga e dalla prima colonna.

Ora, aprire il file Sviluppatore selezionare Visual Basic

Si aprirà una nuova finestra di Microsoft Visual Basic per le applicazioni .

Ora, da Inserire selezionare Modulo

A Modulo si aprirà lì.

Quindi, scrivere il seguente codice nella cartella Modulo .

 Sub SplitSheetIntoMultipleWorkbooksBasedOnColumn() Dim objWorksheet As Excel.Worksheet Dim nLastRow, nRow, nNextRow As Integer Dim strColumnValue As String Dim objDictionary As Object Dim varColumnValues As Variant Dim varColumnValue As Variant Dim objExcelWorkbook As Excel.Workbook Dim objSheet As Excel.Worksheet Set objWorksheet = ActiveSheet nLastRow =objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row Set objDictionary = CreateObject("Scripting.Dictionary") For nRow = 2 To nLastRow strColumnValue = objWorksheet.Range("C" & nRow).Value If objDictionary.Exists(strColumnValue) = False Then objDictionary.Add strColumnValue, 1 End If Next varColumnValues = objDictionary.KeysFor i = LBound(varColumnValues) To UBound(varColumnValues) varColumnValue = varColumnValues(i) Set objExcelWorkbook = Excel.Application.Workbooks.Add Set objSheet = objExcelWorkbook.Sheets(1) objSheet.Name = objWorksheet.Name objWorksheet.Rows(1).EntireRow.Copy objSheet.Activate objSheet.Range("A1").Select objSheet.PastePer nRow = 2 a nLastRow Se CStr(objWorksheet.Range("C" & nRow).Value) = CStr(varColumnValue) Allora objWorksheet.Rows(nRow).EntireRow.Copy nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1 objSheet.Range("A" & nNextRow).Select objSheet.PasteobjSheet.Columns("A:D").AutoFit End If Next Next End Sub 

Qui, ho creato una sottoprocedura chiamata Dividere il foglio in più libri di lavoro in base alla colonna in cui ho dichiarato più variabili.

Ho usato 3 PER cicli. il 1° PER conterà le righe dalla riga 2 all'ultima riga con valore per ottenere la colonna specifica. Ho dato l'istanza di "C" colonna.

È possibile modificarlo in base al proprio caso

Il 2 Per Il ciclo creerà una nuova cartella di lavoro di Excel.

Il 3 Fo Il ciclo r copia i dati con la stessa colonna "C" alla nuova cartella di lavoro dalla seconda all'ultima riga con il valore.

Allora, Risparmiare il codice e tornare al foglio di lavoro.

Ora, aprire il file Vista scheda>> Da Macro selezionare Visualizza macro

A finestra di dialogo apparirà.

Ora, dal Nome della macro selezionare il Dividere il foglio in più libri di lavoro in base alla colonna selezionare anche la cartella di lavoro all'interno di Macro in .

Infine, Correre il selezionato Macro .

Infine, si noterà che sono state create 3 nuove cartelle di lavoro, in quanto ci sono 3 diversi Mesi in colonna C . il Libro1 per Gennaio .

Il Libro2 per il Febbraio .

Il Libro3 per Marzo .

Per saperne di più: Come dividere un foglio Excel in più fogli in base al valore della colonna

Conclusione

In questo articolo ho spiegato 3 modi per dividere il foglio di Excel in più fogli di lavoro. Potete seguire uno qualsiasi dei modi spiegati per dividere il vostro foglio di Excel in più fogli di lavoro. In caso di confusione o di domande su questi metodi, potete commentare qui sotto.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.