Trong bài viết này, chúng tôi sẽ tạo một macro để chèn ngắt trang, dựa trên một điều kiện nhất định.

Dữ liệu thô bao gồm dữ liệu thông minh của tác nhân, bao gồm tên đại lý, tên khách hàng, số điện thoại và id email.

ArrowRawData

Chúng tôi muốn dữ liệu của một tác nhân cụ thể trên các trang riêng biệt trong khi in. Vì vậy, chúng tôi muốn chèn dấu ngắt trang vào cuối dữ liệu của mỗi tác nhân.

ArrowOutput

Giải thích logic

Chúng tôi đã tạo macro “InsertingPagebreak” để chèn ngắt trang. Chúng tôi thực hiện so sánh giá trị của 2 ô liên tiếp trong cột đầu tiên để tìm ô cuối cùng liên quan đến một tác nhân cụ thể và chèn dấu ngắt trang.

Giải thích mã

ActiveSheet.ResetAllPageBreaks Đoạn mã trên được sử dụng để loại bỏ bất kỳ ngắt trang nào trước đó được chèn vào trang tính.

If Cells (LngRow, LngCol) .Value <> Cells (LngRow – 1, LngCol) .Value Then Đoạn mã trên được sử dụng để so sánh các ô liên tiếp trong cột đầu tiên.

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

Đoạn mã trên được sử dụng để chèn ngắt trang trước các ô được chỉ định.

Vui lòng theo dõi bên dưới để biết mã

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

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]