엑셀을 사용하다 보면 간혹 특정 시트를 숨겨야 할 필요가 있다. 예를 들면 조건부 서식의 목록 등에 사용하기 위해 미리 정해둔 특정 값들이 변하지 않게 한다거나 하는 경우 등이다.
이런 경우 가장 일반적으로 사용하는 방법은 아래와 같이 해당 시트의 탭에서 마우스 오른쪽 버튼을 클릭하여 나오는 “숨기기” 메뉴를 이용하는 것이다.
그러나, 이 방법은 동일한 방법으로, “숨기기 취소”를 선택하게 되면 누구든지 이미 숨겨준 엑셀의 시트를 다시 나타나게 할 수 있기 때문에 그다지 효과적이지 않다.
그런데, 이처럼 한번 감춘 시트를 위의 방법처럼 “숨기기 취소”를 하더라도, 여전히 시트의 숨겨진 상태가 유지되도록 설정하는 간단한 방법이 있다.
바로 엑셀에 내장된 Visual Basic을 이용하여 간단한 코드를 설정하면 된다. 바로 간단한 모듈을 만들고, 이 모듈 내에 Sheets(“시트이름”).Visible = 을 입력하고 이 값을 xlVeryHidden 이나 True로 지정하는 방법을 이용하는 것이다.
먼저 엑셀의 개발도구 –> Visual Basic 순으로 메뉴를 선택한 후,
다음의 순서로 마우스 우측 버튼의 메뉴들을 이용하여, “삽입” –> “모듈”을 순차적으로 선택한다.
활성화되는 코드 입력창에, 다음과 같은 간단한 코드를 입력해 준다.
여기서 test1()은 임의로 정한 모듈 이름이며, Sheet1은 숨기고자 하는 엑셀 시트의 이름이다.
코드 입력을 마치면, 코드 입력창 윗부분에 있는 녹색 실행 버튼( 녹음기의 play 버튼과 유사)를 눌러서, 입력한 모듈을 실행시킨다.
실행을 시키면 다음과 같이 확 트인 창이 나오는데, 그대로 실행시킨다.
이것으로 끝이다. 해당 시트는 완전히 감추어진 상태가 되었다.
여기서 이 모듈의 코드는 이미 실행되어 효과를 발휘했으므로, 해당 모듈을 삭제한 채 저장하더라도 이러한 시트 감춤 상태는 유지된다.
확인을 위해, 해당 엑셀 시트로 돌아가, 일상적인 “숨기기 취소”를 시도해 보았다.
“숨기기 취소”가 인식하는 숨겨진 시트들이 없기 때문에, “숨기기 취소” 메뉴가 비활성 상태임을 확인할 수 있다.
즉, 위의 방법으로 엑셀 시트를 감추면, 통상적인 방법으로는 해당 시트가 감추어져 있는 것을 파악할 수 없고, 또한 숨기기를 해제할 수 없게 된다.
그런데 만일 자신이 감춘 시트를 다시 보이게 해야 할 필요가 있을 때는 어떻게 해야 할까?
동일한 방법으로 또 다른 코드를 만들되, Sheets(“Sheet1”).Visible 부분을 xlVeryHidden 대신 True로 지정한 후, 해당 코드를 실행시키면 된다.
위의 코드를 입력한 후, 동일한 방법으로 이 코드를 실행시킨 후, 해당 엑셀 파일을 살펴보면 다음과 같이 Sheet1이 다시 보이는 것을 확인할 수 있다.
이로써, 엑셀 시트를 간단한 Visual Basic 코드로, 보이지 않도록 숨기거나, 다시 보이게 하는 방법을 살펴보았다.

