I den här artikeln kommer vi att skapa ett makro för att infoga sidbrytningar, baserat på ett visst villkor.
Raw data består av agentvisa data, som inkluderar agentnamn, klientnamn, telefonnummer och e -post -id.
Vi vill ha data från en viss agent på separata sidor under utskriften. Så vi vill infoga en sidbrytning i slutet av varje agents data.
Logisk förklaring
Vi har skapat ett "InsertingPagebreak" -makro för att infoga en sidbrytning. Vi jämför värden för 2 på varandra följande celler i den första kolumnen för att hitta den sista cellen relaterad till ett visst medel och infoga en sidbrytning.
Kodförklaring
ActiveSheet.ResetAllPageBreaks
Ovanstående kod används för att ta bort tidigare sidbrytningar som har infogats i arket.
If Cells (LngRow, LngCol) .Value Cells (LngRow - 1, LngCol) .Value Then
Ovanstående kod används för att jämföra på varandra följande celler i den första kolumnen.
ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Celler (LngRow, LngCol)
Ovanstående kod används för att infoga sidbrytningar före angivna celler.
Följ koden nedan
Sub InsertingPagebreak () 'Declaring variables Dim LngCol As Long Dim LngRow, MaxRow As Long' Rensa befintliga sidbrytningar ActiveSheet.ResetAllPageBreaks LngCol = 1 'Få radnummer för sista cellen MaxRow = Range ("A11"). SpecialCells (xlCellTypeLastCell). 'Slinga genom alla rader som börjar från trettonde raden För LngRow = 13 till MaxRow' Jämföra värden i cellen i två på varandra följande rader för den angivna kolumnen If Cells (LngRow, LngCol) .Value Cells (LngRow - 1, LngCol) .Value Then ' Infoga sidbrytning ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cells (LngRow, LngCol) End If Next LngRow End Sub Sub
Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.
Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen