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