Sommario
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.xlsmModi 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.