나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 라이코스 (seung3e)

추천:  2
파일:     TEST(12).xlsm (70.3KB) 조회:  959
제목:   선택된 시트(1개이상)의 페이지 역순 인쇄 VBA 도와주세요
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):2019

* 아래줄에 질문을 작성하세요 >>

자체 역순출력기능지원이없는 산업용프린트기로 역순출력을하고싶습니다.

Sub ReversePrint()
'Update 20230330
Dim xPages As Long

xPages = ExecuteExcel4Macro("GET.DOCUMENT(50)")
For xIndex = xPages To 1 Step -1

ActiveWindow.SelectedSheets.PrintOut from:=xIndex, To:=xIndex
''선택된 시트들의 전체페이지수는 나오나 첫번째시트만 인쇄됨.

Next
End Sub

가정:시트이름은 수시로변경됨
시트1:ex)1페이지
시트2:ex)2페이지
시트3:ex)3페이지

시트1 부터 시트3까지 선택 후 매크로 실행 하면

EX)페이지번호1/6 첫번째시트 1장만 인쇄됩니다.
1/6, 2/6, 3/6, 4/6, 5/6, 6/6까지 모두 출력되게하고싶습니다
제발 도와주세요

추가로

Dim sh As Worksheet, iPages As Long, i As Long
    Dim vIdx As Variant
    ReDim vIdx(1 To ActiveWindow.SelectedSheets.Count)
    For Each sh In ActiveWindow.SelectedSheets
        i = i + 1
        vIdx(i) = sh.Index
    Next
    
    For i = UBound(vIdx) To LBound(vIdx) Step -1
        Worksheets(vIdx(i)).Activate
        iPages = ExecuteExcel4Macro("GET.DOCUMENT(""50"")")
        Do While iPages > 0
            Worksheets(vIdx(i)).PrintOut iPages, iPages
            iPages = iPages - 1
        Loop
    
    Next

End Sub

이렇게 실행하면
1/1,1/2,2/2,1/3,2/3,3/3 이렇게 출력됩니다 ㅠㅠ
꼭 1/6, 2/6, 3/6, 4/6, 5/6, 6/6 처럼 선택한시트들의 전페이지수 까지 모두 출력되게하고싶습니다
 
[불량 게시물 신고]  
        
  

작성일 : 2023-03-31(17:05)
최종수정일 : 2023-03-31(17:06)
 


 ◎ 관련글

  제 목   작성자   날짜
선택된 시트(1개이상)의 페이지 역순 인쇄 VBA 도와주세요 라이코스 2023-03-31
[RE]선택된?시트(1개이상)의?페이지?역순?인쇄?VBA?도와주세요 잡초 2023-04-01
[RE]선택된?시트(1개이상)의?페이지?역순?인쇄?VBA?도와주세요 라이코스 2023-04-07