Comment créer de nouvelles feuilles pour chaque ligne dans Excel?
Supposons que vous ayez un tableau de scores avec le nom de tous les étudiants dans la colonne A. Vous souhaitez maintenant créer de nouvelles feuilles basées sur ces noms dans la colonne A, et faire par feuille contient les données d'un étudiant unique. Ou créez simplement une nouvelle feuille pour chaque ligne du tableau sans tenir compte des noms dans la colonne A. Dans cette vidéo, vous obtiendrez des méthodes pour y parvenir.
Créer de nouvelles feuilles pour chaque ligne avec le code VBA
Créez de nouvelles feuilles pour chaque ligne avec l'utilitaire Split Data de Kutools for Excel
Créer de nouvelles feuilles pour chaque ligne avec le code VBA
Avec les codes suivants, vous pouvez créer une nouvelle feuille en fonction des valeurs de colonne ou simplement créer de nouvelles feuilles pour chaque ligne dans Excel.
1. presse autre + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Et puis collez le code suivant dans le Module fenêtre.
Code VBA: créez une nouvelle feuille pour chaque ligne en fonction de la colonne
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
Notes: A1: C1 est la plage de titres de votre tableau. Vous pouvez le modifier en fonction de vos besoins.
3. presse F5 clé pour exécuter le code, puis de nouvelles feuilles de calcul sont créées après toutes les feuilles de calcul du classeur actuel comme ci-dessous capture d'écran:
Si vous souhaitez créer directement de nouvelles feuilles pour chaque ligne sans tenir compte de la valeur de la colonne, vous pouvez utiliser le code suivant.
Code VBA: créer directement une nouvelle feuille pour chaque ligne
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
Après avoir exécuté le code, chaque ligne de la feuille de calcul active sera placée dans une nouvelle feuille de calcul.
Notes: La ligne d'en-tête sera également placée dans une nouvelle feuille avec ce code VBA.
Créez de nouvelles feuilles pour chaque ligne avec l'utilitaire Split Data de Kutools for Excel
En fait, la méthode ci-dessus est compliquée et difficile à comprendre. Dans cette section, nous vous présentons le Diviser les données utilité de Kutools for Excel.
Avant d'appliquer Kutools for Excel, S'il vous plaît téléchargez et installez-le d'abord.
1. Sélectionnez la table à utiliser pour créer de nouvelles feuilles, puis cliquez sur Kutools Plus> Cracher des données. Voir la capture d'écran:
2. dans le Diviser les données en plusieurs feuilles de calcul boîte de dialogue, procédez comme suit.
A. Pour créer de nouvelles feuilles en fonction de la valeur de la colonne:
B. Pour créer directement de nouvelles feuilles pour chaque ligne:
un nouveau classeur est créé avec toutes les nouvelles feuilles à l'intérieur. Voir les captures d'écran ci-dessous.
Création de nouvelles feuilles pour chaque ligne en fonction de la valeur de la colonne:
Créer une nouvelle feuille pour chaque ligne sans tenir compte de la valeur de la colonne:
Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.
Créez de nouvelles feuilles pour chaque ligne avec l'utilitaire Split Data de Kutools for Excel
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!