В этой статье мы создадим макрос для вставки разрывов страниц на основе определенного условия.

Необработанные данные включают данные агента, которые включают имя агента, имя клиента, номер телефона и идентификатор электронной почты.

ArrowRawData

Нам нужны данные конкретного агента на отдельных страницах при печати. Итак, мы хотим вставить разрыв страницы в конце данных каждого агента.

ArrowOutput

Логическое объяснение

Мы создали макрос «InsertingPagebreak» для вставки разрыва страницы. Мы сравниваем значения двух последовательных ячеек в первом столбце, чтобы найти последнюю ячейку, относящуюся к определенному агенту, и вставить разрыв страницы.

Объяснение кода

ActiveSheet.ResetAllPageBreaks Приведенный выше код используется для удаления любых предыдущих разрывов страниц, вставленных в лист.

If Cells (LngRow, LngCol) .Value <> Cells (LngRow — 1, LngCol) .Value Then Приведенный выше код используется для сравнения последовательных ячеек в первом столбце.

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

Приведенный выше код используется для вставки разрывов страниц перед указанными ячейками.

Пожалуйста, введите код ниже

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

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]