여기에는 두 가지 질문이 있습니다.
- 페이지 번호를 바닥 글에 넣는 방법
- 실행 방법은 각 필터가 적용된 후 여러 개의 자동 필터 인쇄를 적용합니다.
먼저 페이지 설정에서 다음과 같이 할 수 있습니다.
- 페이지 설정으로 이동 :
- 머리글 / 바닥 글을 클릭하십시오.
- "사용자 정의 바닥 글 ..."버튼을 클릭하십시오.
- 섹션 중 하나에서 "페이지 & amp; [페이지]"를 입력하십시오. 표시 할 코드를 나타냅니다.
Page 1 of 2
, Page 2 of 2
등등.
두 번째 작업을 수행하려면 매크로가 필요합니다. 즉, 파일을 매크로 사용 가능 파일 (xlsm)로 저장해야합니다. 일단 그렇게하면 개발자 탭을 다음과 같이 표시해야합니다.
- Excel 창의 왼쪽 상단 구석에있는 꽃을 클릭하고 "Excel 옵션"을 선택하십시오.
- '인기있는 항목'섹션이 선택되어 있는지 확인하십시오.
- "리본에서 개발자 탭 표시"가 선택되어 있는지 확인하십시오.
매크로를 관리하기 위해 버튼을 볼 수있게되었으므로 다양한 필터를 적용하고 각 필터 다음에 인쇄하는 프로세스를 자동화 할 수있는 매크로를 기록해야합니다.
- 개발자 탭을 클릭하십시오.
- "매크로 기록"버튼을 클릭하십시오.
- 레코딩이 켜지면 자동화 할 프로세스를 실행하십시오. 즉, 필터를 적용하고 인쇄하고 다른 필터를 적용하고 인쇄합니다.
매크로는 VBA (Visual Basic for Applications)로 작성되고 다음과 같이 나옵니다.
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Range("$A$3:$A$568").AutoFilter Field:=1, Criteria1:="=a*", _
Operator:=xlAnd
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Range("$A$3:$A$568").AutoFilter Field:=1, Criteria1:="=b*", _
Operator:=xlAnd
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
부가
당신이 언급 한 것을 감안할 때, 나는 다음과 같은 함수를 사용하여 친밀해질 수 있다고 생각한다 :
Public Sub GetTotalPageCount()
Dim horizontalBreaks As Integer
Dim verticalBreaks As Integer
horizontalBreaks = ActiveSheet.HPageBreaks.Count + 1
verticalBreaks = ActiveSheet.VPageBreaks.Count + 1
GetTotalPageCount = horizontalBreaks * verticalBreaks
End Sub
원하는 전반적인 결과를 얻으려면 다음 의사 코드와 비슷한 것을 할 수있는 무언가를 만들어야합니다.
- 필터 적용
- 전역 변수에 페이지 수 추가
- 필터 적용
- 전역 변수에 페이지 수 추가
...
- (마지막 필터 이후)
ActiveSheet.PageSetup.CenterFooter = "Page &P of " & g_TotalPages
- 필터 적용
- 인쇄
- 필터 적용
- 인쇄
...