|
- 엑셀 버전(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로 지정하면 됩니다. |
|