Ajouter des sauts de page à l’aide des données triées VBA dans Microsoft Excel
Dans cet article, nous allons créer une macro pour insérer des sauts de page, en fonction d’une certaine condition.
Les données brutes se composent de données d’agent, qui incluent le nom de l’agent, le nom du client, le numéro de téléphone et l’ID de messagerie.
Nous voulons les données d’un agent particulier sur des pages séparées lors de l’impression. Nous souhaitons donc insérer un saut de page à la fin des données de chaque agent.
Explication logique
Nous avons créé une macro «InsertingPagebreak» pour insérer un saut de page. Nous faisons la comparaison des valeurs de 2 cellules consécutives dans la première colonne pour trouver la dernière cellule liée à un agent particulier et insérer un saut de page.
Explication du code
ActiveSheet.ResetAllPageBreaks Le code ci-dessus est utilisé pour supprimer les sauts de page précédents insérés dans la feuille.
If Cells (LngRow, LngCol) .Value <> Cells (LngRow – 1, LngCol) .Value Then Le code ci-dessus est utilisé pour comparer des cellules consécutives dans la première colonne.
ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cellules (LngRow, LngCol)
Le code ci-dessus est utilisé pour insérer des sauts de page avant les cellules spécifiées.
Veuillez suivre ci-dessous pour le code
Sub InsertingPagebreak() 'Declaring variables Dim LngCol As Long Dim LngRow, MaxRow As Long 'Clear existing page breaks ActiveSheet.ResetAllPageBreaks LngCol = 1 'Getting row number of last cell MaxRow = Range("A11").SpecialCells(xlCellTypeLastCell).Row 'Looping through all the rows starting from thirteenth row For LngRow = 13 To MaxRow 'Comparing values in cell of two consecutive rows for the specified column If Cells(LngRow, LngCol).Value <> Cells(LngRow - 1, LngCol).Value Then 'Inserting page break ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol) End If Next LngRow 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]