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

작성자:  

 째니 (sujubun)

추천:  2
파일:     매크로 문의.xlsm (16.9KB) 조회:  1529
제목:   여러시트에서 매크로 실행시 숨긴시트 매크로는 제외하기
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

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

여러 파일에서 공통으로 사용하는 매크로 여러개가 있고
파일마다 숨김 시트는 각각 다릅니다.

"여러 매크로는 한번에 실행하고 싶은데 숨긴 시트로 인해 오류가 나고 있어서 해결할 방법을 찾고 있습니다."

--- 예 ---

예제파일에서는 2번,5번 시트가 숨겨진 상태인데
다른 파일은 숨긴 시트가 각각 다르므로

1번 시트에서는 1번 매크로 실행하는데, 만약 숨긴 시트일 경우 1번 매크로 실행을 제외하고, 다음 2번 시트로 넘어갑니다.

2번 시트에서는 2번 매크로 실행하는데, 만약 숨긴 시트일 경우 2번 매크로 실행을 제외하고, 다음 3번 시트로 넘어갑니다.

계속 반복해서 6번 매크로까지 동일한 방식의 처리를 하고 끝 입니다. 

 
[불량 게시물 신고]  
조삿갓VBA에서 특정 시트의 속성 중 Visible 속성을 False로 하면 그 시트는 숨김 시트가 되고, True이면 숨김해제됩니다.
마찬가지로 이 속성이 True인지 False인지 조사하면
그 시트가 숨김인지 아닌지 알 수 있습니다.

살펴보니 매크로 1~6까지 사실상 코드 내용은 모두 동일하네요. 그런 걸 이런 식으로 노가다하는 건 프로그램이 아닙니다.
하나의 매크로로 한 방에 해결해야지요
01-16 (10:19)
삭제 ■신고
조삿갓Sub 당월을전월로카피()
'
' 당월을전월로카피 매크로
'

'
    Dim sh As Variant
    For Each sh In ActiveWorkbook.Sheets
        If sh.Visible Then
            sh.Activate
            Selection.Copy
            Range("C3").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
        End If
    Next sh
End Sub

이거 한 방이면 끝! 입니다
01-16 (10:28)
삭제 ■신고
        
  

작성일 : 2018-01-15(16:09)
최종수정일 : 2018-01-15(16:14)