Pagina-einden toevoegen aan gesorteerde gegevens met VBA in Microsoft Excel

Anonim

In dit artikel zullen we een macro maken om pagina-einden in te voegen, op basis van een bepaalde voorwaarde.

Ruwe gegevens bestaan ​​uit agentgewijze gegevens, waaronder de naam van de agent, de naam van de klant, het telefoonnummer en het e-mailadres.

We willen gegevens van een bepaalde agent op aparte pagina's tijdens het printen. We willen dus een pagina-einde invoegen aan het einde van de gegevens van elke agent.

Logische uitleg

We hebben de macro "InsertingPagebreak" gemaakt om een ​​pagina-einde in te voegen. We maken een vergelijking van waarden van 2 opeenvolgende cellen in de eerste kolom om de laatste cel te vinden die betrekking heeft op een bepaalde agent en een pagina-einde in te voegen.

Code uitleg

ActiveSheet.ResetAllPageBreaks

De bovenstaande code wordt gebruikt om eerdere pagina-einden te verwijderen die in het blad zijn ingevoegd.

Als Cellen (LngRow, LngCol). Waarde Cellen (LngRow - 1, LngCol). Waarde Dan

De bovenstaande code wordt gebruikt om opeenvolgende cellen in de eerste kolom te vergelijken.

ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol)

De bovenstaande code wordt gebruikt om pagina-einden in te voegen vóór opgegeven cellen.

Volg hieronder voor de code:

Sub InsertingPagebreak() 'Variabelen Dim LngCol As Long Dim LngRow, MaxRow As Long declareren 'Bestaande pagina-einden wissen ActiveSheet.ResetAllPageBreaks LngCol = 1 'Rijnummer van laatste cel ophalen MaxRow = Range("A11").SpecialCells(xlCellTypeLastCell).Row 'Door alle rijen doorlopen vanaf de dertiende rij Voor LngRow = 13 Naar MaxRow 'Waarden vergelijken in cel van twee opeenvolgende rijen voor de opgegeven kolom If Cells(LngRow, LngCol).Value Cells(LngRow - 1, LngCol).Value Then ' Pagina-einde invoegen ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol) End If Next LngRow End Sub 

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite