Microsoft Excel에서 VBA를 사용하여 정렬 된 데이터에 페이지 나누기를 추가
이 기사에서는 특정 조건에 따라 페이지 나누기를 삽입하는 매크로를 만듭니다.
원시 데이터는 에이전트 이름, 클라이언트 이름, 전화 번호 및 이메일 ID를 포함하는 에이전트 현명한 데이터로 구성됩니다.
인쇄하는 동안 별도의 페이지에 특정 에이전트의 데이터를 원합니다. 따라서 각 에이전트의 데이터 끝에 페이지 나누기를 삽입하려고합니다.
논리 설명
페이지 나누기를 삽입하기 위해 “InsertingPagebreak”매크로를 만들었습니다. 특정 에이전트와 관련된 마지막 셀을 찾고 페이지 나누기를 삽입하기 위해 첫 번째 열에서 2 개의 연속 셀 값을 비교합니다.
코드 설명
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]로 문의 해주세요