Table des matières
Un grand ensemble de données peut contenir plusieurs valeurs basées sur la même colonne. Si vous le souhaitez, vous pouvez diviser les valeurs des mêmes catégories (département, mois, région, États, etc.) ou vos préférences en différentes feuilles de calcul ou classeurs. Dans cet article, je vais vous expliquer comment diviser une feuille Excel en plusieurs feuilles de calcul.
Pour que cette explication soit plus claire pour vous, je vais utiliser un ensemble de données d'exemple. Il y a 4 colonnes dans l'ensemble de données représentant les informations sur les ventes de différents mois. Ces colonnes sont les suivantes Vendeur, région, mois, et Ventes .
Télécharger pour pratiquer
Diviser une feuille Excel en plusieurs feuilles de travail.xlsmComment diviser une feuille Excel en plusieurs feuilles de travail ?
1. utiliser le filtre et la copie
À partir de n'importe quelle feuille, vous pouvez diviser les données en plusieurs feuilles à l'aide de la fonction Filtre .
Tout d'abord, sélectionnez la plage de cellules dans laquelle vous souhaitez appliquer l'approche de l'utilisateur. Filtre .
➤Here, j'ai sélectionné la plage de cellules B3:E15 .
Ensuite, ouvrez le Données onglet>> ; sélectionner Filtre .
Vous pouvez également utiliser CTRL + SHIFT + L pour appliquer Filtre utiliser le clavier .
Maintenant, Filtre est appliquée à la plage de cellules sélectionnée.
Ensuite, cliquez sur le Mois car je veux diviser les données en fonction de Mois valeurs.
A partir de là, je désélectionné tout sauf Janvier Enfin, cliquez sur OK .
Maintenant, toutes les valeurs où le Mois est Janvier sont filtrés.
Ensuite, Copie les données et Pâte dans la nouvelle feuille de travail.
Ici, j'ai nommé la nouvelle feuille Janvier. Ainsi, vous verrez toutes les informations sur les ventes pour Janvier est présenté ici.
Pour le reste de la Mois vous pouvez suivre les mêmes procédures.
Encore une fois, cliquez sur le Mois car je veux diviser les données en fonction de Mois valeurs.
De là désélectionner tout sauf Février Enfin, cliquez sur OK .
Maintenant, toutes les valeurs de Février Mois sont filtrés.
Ensuite, Copie les données et Pâte dans la nouvelle feuille de travail.
Plus tard, j'ai nommé la nouvelle feuille Février. Ainsi, vous verrez toutes les informations relatives aux ventes de l'entreprise. Mois de Février est présenté ici.
Encore une fois, cliquez sur le Mois car je veux diviser les données en fonction de Mois valeurs.
De là désélectionner tout sauf Mars Enfin, cliquez sur OK .
Maintenant, vous verrez toutes les valeurs de Mars sont filtrés.
Ensuite, Copie les données et Pâte dans la nouvelle feuille de travail.
Finalement, j'ai nommé la nouvelle feuille Mars Ainsi, vous verrez toutes les informations relatives aux ventes pour les produits suivants Mars est présenté ici.
Lire la suite : Diviser une feuille Excel en plusieurs feuilles en fonction des rangées
Diviser une feuille Excel en fonction du nombre de lignes à l'aide de VBA
Avant de commencer la procédure, vous devez vous rappeler que vous devez commencer les données à partir des premières lignes.
Maintenant, ouvrez le Développeur onglet>> ; sélectionner Visual Basic
Cela ouvrira une nouvelle fenêtre de Microsoft Visual Basic pour les applications .
Maintenant, de Insérer >> ; sélectionner Module
A Module s'y ouvrira.
Ensuite, écrivez le code suivant dans le fichier Module .
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
Ici, j'ai créé une sous-procédure appelée SplitExcelSheet_into_MultipleSheets .
Où j'ai déclaré quelques variables, à savoir WorkRng et xRow comme Gamme type alors
SplitRow comme Entier également xWs comme Feuille de travail type.
Aussi, utilisé ExcelTitleId pour donner le boîte de dialogue titre.
J'ai fourni le numéro de la ligne de partage 4 pour diviser les données par 4 lignes parce que dans mon jeu de données, le Mois de Janvier a 4 rangs.
Enfin, j'ai utilisé un Pour boucle vers SplitRow jusqu'à ce que la plage de cellules donnée se termine.
Ensuite, Sauvez le code et retourner à la feuille de travail.
Maintenant, ouvrez le Développeur onglet>> ; De Insérer >> ; sélectionner Bouton
A boîte de dialogue s'affichera.
Pour attribuer le Macro dans l'inséré Bouton .
Sélectionnez SplitExcelSheet_into_Multiplesheets de la Nom de la macro puis cliquez sur OK .
Il suffit de cliquer sur le Bouton pour exécuter le Macro .
Maintenant, un boîte de dialogue s'affichera où vous pourrez mettre les données gamme.
➤Here, j'ai sélectionné la plage de cellules B1:E12
Ensuite, cliquez sur OK .
Un autre boîte de dialogue s'affichera pour vous montrer le nombre de lignes sélectionnées que vous avez déjà fourni dans le code pour diviser l'ensemble de données.
➤ Dans le code, j'ai fourni 4 comme Numéro de rangée fractionné
Comme j'ai en tout 12 rangs ainsi avec 4 rangs il y aura 3 feuilles .
Sur Feuille 1 vous verrez les données des 4 premières lignes.
Sur Feuille 2 vous verrez les données des lignes 5 à 8.
Sur Feuille 3 vous verrez les données des 4 dernières lignes.
Lire la suite : Excel VBA : diviser une feuille en plusieurs feuilles en fonction des lignes
Lectures similaires
- Comment diviser l'écran dans Excel (3 façons)
- [Correction :] L'affichage côte à côte d'Excel ne fonctionne pas.
- Comment séparer des feuilles dans Excel (6 façons efficaces)
- Ouvrir deux fichiers Excel séparément (5 méthodes simples)
- Comment diviser une feuille Excel en plusieurs fichiers (3 méthodes rapides)
3. diviser la feuille Excel en plusieurs classeurs en fonction des colonnes
Avant de commencer la procédure, vous devez vous rappeler que vous devez commencer les données à partir de la première ligne et de la première colonne.
Maintenant, ouvrez le Développeur onglet>> ; sélectionner Visual Basic
Cela ouvrira une nouvelle fenêtre de Microsoft Visual Basic pour les applications .
Maintenant, de Insérer >> ; sélectionner Module
A Module s'y ouvrira.
Ensuite, écrivez le code suivant dans le fichier Module .
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.PasteFor nRow = 2 To nLastRow If CStr(objWorksheet.Range("C" & ; nRow).Value) = CStr(varColumnValue) Then 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
Ici, j'ai créé une sous-procédure appelée SplitSheetIntoMultipleWorkbooksBasedOnColumn où j'ai déclaré plusieurs variables.
J'ai utilisé 3 POUR boucles. Le 1er POUR comptera les lignes de la ligne 2 à la dernière ligne avec une valeur pour obtenir la colonne spécifique. J'ai donné l'instance de "C" colonne.
Vous pouvez le modifier selon votre cas
La 2e Pour va créer un nouveau classeur Excel.
La 3ème Fo La boucle r copiera les données avec la même colonne. "C" dans le nouveau classeur, de la deuxième ligne à la dernière ligne avec la valeur.
Ensuite, Sauvez le code et retourner à la feuille de travail.
Maintenant, ouvrez le Voir onglet>> ; De Macros >> ; sélectionner Afficher les macros
A boîte de dialogue s'affichera.
Maintenant, de la Nom de la macro sélectionnez le SplitSheetIntoMultipleWorkbooksBasedOnColumn sélectionner également le classeur dans Macros dans .
Enfin, Exécuter l'élu Macro .
Enfin, vous verrez que 3 nouveaux classeurs ont été créés car il y a 3 différents Mois en colonne C . le Livre 1 pour Janvier .
Le site Livre 2 pour le Février .
Le site Livre 3 pour Mars .
Lire la suite : Comment diviser une feuille Excel en plusieurs feuilles en fonction de la valeur d'une colonne ?
Conclusion
Dans cet article, j'ai expliqué 3 façons de diviser une feuille Excel en plusieurs feuilles de travail. Vous pouvez suivre l'une des méthodes expliquées pour diviser votre feuille Excel en plusieurs feuilles de travail. En cas de confusion ou de question concernant ces méthodes, vous pouvez commenter ci-dessous.