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

 조삿갓 (choga21)

추천:  2
파일:     김실장님_출력물발행_샘플[2].xlsm (46.8KB) 조회:  1194
제목:   [RE]마크로로 특정자료만 여러장 출력할때
     
  - 엑셀 버전(95,97,2000,xp,2003,2007):2007

* 아래줄에 질문을 작성하세요 >>
마크로로 첨부파일의 스마일버튼을 누르면 AutoFilter로 해당하는 자료만 가져와 출력하는 마크로인데 해당안되는 공시트도 출력 안되게 하는
옵션이 뭐가 있을까요? 예를들어 공시트의 출력물의 a3= ''면 출력안되게 등등...

==============[미술관님 글에 대한 답변입니다]==============

Sub 일일할인명별출력()
  Const OrSign = "|"
  Dim PrtList As Variant
  Dim Sht As Variant
  Dim orf As Variant
    
  PrtList = Array("공무/관용", "공무감면2시간", "공무감면2시간,공무감면50%", "당일무료권", "당일무료권|후원무료권", "후원무료권")
  For Each Sht In PrtList
   If InStr(Sht, OrSign) > 0 Then
    orf = Split(Sht, OrSign)
    ActiveSheet.Range("$A$1:$O$343").AutoFilter Field:=12, Criteria1:="=" & orf(0) _
        , Operator:=xlOr, Criteria2:="=" & orf(1)
   Else
    ActiveSheet.Range("$A$1:$O$343").AutoFilter Field:=12, Criteria1:=Sht
   End If
   If Cells(Rows.Count, 12).End(xlUp).Row > 1 Then _
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False, Preview:=True
  Next Sht
End Sub

-----------------------------------------

코드가 비효율적이기도 해서 효율적으로 수정하였습니다.

테스트용 코드이기 때문에 출력은 화면 미리보기로 됩니다. 확인해 보시고 이상이 없으면, 마지막 PrintOut 메소드의 Preview 파라메터를 삭제(생략)하거나 False로 지정하면 됩니다.
 
[불량 게시물 신고]  
미술관큰 도움이 되었습니다. 감사합니다.08-06 (14:58)
삭제 ■신고
        
  

작성일 : 2018-08-04(23:30)
최종수정일 : 2018-08-04(23:30)
 


 ◎ 관련글

  제 목   작성자   날짜
마크로로 특정자료만 여러장 출력할때 미술관 2018-08-03
[RE]마크로로 특정자료만 여러장 출력할때 조삿갓 2018-08-04