données divisé en une feuille par numéro spécifique de lignes en utilisant VBA dans Microsoft Excel
Dans cet article, nous allons créer une macro pour fractionner les données par nombre spécifique de lignes.
Nous avons des données brutes dans la feuille «RawData». Nous voulons diviser ces données en plusieurs feuilles.
Avant d’exécuter la macro, nous devons spécifier le nombre de lignes requises dans chaque feuille.
Explication du code
CntRows = Cint (Feuilles (« Main »). TextBox1.Value)
Le code ci-dessus est utilisé pour obtenir le nombre de feuilles requises dans une feuille.
LastRow = .Range (« A » & .Rows.Count) .End (xlUp) .Row Le code ci-dessus est utilisé pour obtenir le numéro de ligne de la dernière cellule.
Sheets.Add après: = Sheets (Sheets.Count)
Le code ci-dessus est utilisé pour ajouter une nouvelle feuille après la dernière feuille.
Le code ci-dessus est utilisé pour copier le nombre spécifié de lignes dans une nouvelle feuille de calcul.
Veuillez suivre ci-dessous pour le code
Option Explicit Sub SplitDataToMultipleSheets() 'Declaring variables Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer 'Getting count of number of rows required in one sheet CntRows = CInt(Sheets("Main").TextBox1.Value) 'Disabling screen updates Application.ScreenUpdating = False With Sheets("RawData") 'Getting row number and column number of last cell LastRow = .Range("A" & .Rows.Count).End(xlUp).Row LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column 'Looping through data in the sheet For n = 1 To LastRow Step CntRows 'Adding new worksheet Sheets.Add after:=Sheets(Sheets.Count) 'Copying data to new worksheet .Range("A" & n).Resize(CntRows, LastColumn).Copy Range("A1") Next n .Activate End With 'Enabling screen updates Application.ScreenUpdating = True End Sub
Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]