본문 바로가기

EXCEL/VBA

엑셀 시트 숨기기 매크로(비밀번호 설정)

엑셀 시트에 중요한 데이터가 있거나 보안상 특정 시트를 숨기고 싶을때 시트 숨기기를 합니다.


일반적으로 시트 탭에서 [숨기기] 하면 시트는 숨겨 집니다.

이부분은 모두 아실것 같고... 그런데 일반적인 시트 숨기기는 누구나 다 잘 알고 있습니다.

그래서 단순히 시트 숨기기로 해서 파일을 전송 하려고하니 왠지 찜찜합니다.


시트를 아무도 열수 없도록 꽁꽁 숨기고 싶을때... 어떻게 할까요?



 일반적인 시트 숨기기 / 숨기기 취소



1. 시트탭에서 우측마우스 클릭하고 위 그림처럼 [숨기기]를 선택하면 시트는 사라집니다.



2. 반대로 [숨기기 취소]를 하면 아래와 같이 [숨기기 취소창]이 열리고 숨겨진 시트를 선택해서 [확인] 하면 시트는 다시 나타납니다.



3. 파일을 받았을 때 시트가 숨겨져 있는지는 어떻게 알까요?

4. 시트탭에서 우측마우스 클릭하면 1번 그림과 같이 [숨기기 취소]가 희미하게 나타나면 숨겨진 시트가 없고 2번처럼 진하게 나타나면 숨겨진 시트가 있습니다.


 시트 꽁꽁 숨기기



1. 시트탭의 우측마우스 클릭하고 [코드보기]를 클릭합니다.



2. 위 그림과 같이 Visual Basic Editor 창이 열립니다. [Alt + F11] 하셔도 됩니다.

3. ① 과 같이 숨길 시트를 선택하고 아래 속성창에서 Visible 속성을 ② xlSheetVeryHidden 을 선택하면 Sheet2는 완전 숨겨지게 됩니다.

4. 시트탭에서 [숨기기 취소]로 시트를 나타나게 할 수 없습니다.

5. 이 방법도 아는 사람이 많아서 누군가 열수 있다면?? 물론 VBA에 비밀번호를 걸면 됩니다.(맨 아래 비밀번호 설정 참조)


※ Visible 속성상수

xlSheetVisible = 보이기

xlSheetHidden = 숨기기

xlSheetVeryHidden = 꽁꽁 숨기기


 시트 숨기기 매크로 만들기


자주 사용하는 파일이라면 VBA 비밀번호 해제하기도 번거롭고 해서 VBA를 활용하면 훨씬 편리하겠죠?



1. 위 그림과 같이 아래 코드를 현재통합문서나 모듈을 새로 생성해서 입력합니다.


Sub 시트숨기기()


    If Sheet2.Visible = xlSheetVeryHidden Then '--- 시트2가 꽁꽁 숨겨졌을때

        비번확인 = InputBox("비밀번호를 입력하세요")

        If 비번확인 = "1234" Then '---비밀번호가 일치할때 시트보이기

            Sheet2.Visible = xlSheetVisible

        Else

            MsgBox ("비밀번호가 틀립니다.")

            Exit Sub

        End If

    Else

            Sheet2.Visible = xlSheetVeryHidden

    End If


End Sub


시트숨기기 코드.txt



2. 시트숨기기 매크로는 [개발도구] - [매크로] 또는 [Alt + F8]으로 실행 할 수 있습니다.

3. 그렇지만 버튼을 하나 만들어 사용하면 더 편리 하겠죠.

4. 4각형을 그리고 텍스트 입력 후 우측 마우스 클릭하고 [매크로 지정] 클릭하면 위 그림과 같이 매크로 실행 버튼을 만들 수 있습니다.



5. 마지막으로 Visual Basic Editor 창에서 [도구] - [Visual Project 속성]을 클릭하면 속성창이 나타납니다.

6. 읽기전용 체크 하시고 암호를 입력하면 어느 누구도 숨겨진 시트를 열수 없습니다.


※ 저장은 매크로 통합문서로 저장해야 합니다.



 첨부파일 보기