Legg til sideskift i sorterte data ved hjelp av VBA i Microsoft Excel

Anonim

I denne artikkelen vil vi lage en makro for å sette inn sideskift, basert på en bestemt tilstand.

Rådata består av agentinformasjon, som inkluderer agentnavn, klientnavn, telefonnummer og e -post -ID.

Vi vil ha data fra en bestemt agent på separate sider under utskrift. Så vi ønsker å sette inn et sideskift på slutten av hver agents data.

Logisk forklaring

Vi har laget “InsertingPagebreak” makro for å sette inn et sideskift. Vi sammenligner verdier for 2 påfølgende celler i den første kolonnen for å finne den siste cellen relatert til en bestemt agent og sette inn et sideskift.

Kode forklaring

ActiveSheet.ResetAllPageBreaks

Koden ovenfor brukes til å fjerne eventuelle tidligere sideskift satt inn i arket.

If Cells (LngRow, LngCol) .Value Cells (LngRow - 1, LngCol) .Value Then

Koden ovenfor brukes til å sammenligne påfølgende celler i den første kolonnen.

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

Koden ovenfor brukes til å sette inn sideskift før spesifiserte celler.

Følg koden nedenfor

Sub InsertingPagebreak () 'Deklarasjonsvariabler Dim LngCol As Long Dim LngRow, MaxRow As Long' Fjern eksisterende sideskift ActiveSheet.ResetAllPageBreaks LngCol = 1 'Få radnummer for siste celle MaxRow = Range ("A11"). SpecialCells (xlCellTypeLastCell). 'Sløyfe gjennom alle radene som starter fra trettende rad For LngRow = 13 To MaxRow' Sammenligning av verdier i celle i to påfølgende rader for den angitte kolonnen If Cells (LngRow, LngCol) .Value Cells (LngRow - 1, LngCol) .Value Then ' Setter inn sideskift ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cells (LngRow, LngCol) End If Next LngRow End Sub 

Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.

Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post