배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Excel 버전:   공통
검색어:   워크시트, 숨기기
제목:   [팁#6] 워크시트 그냥 숨기기, 심하게 숨기기 (VBA)
     
 

New Page 2
  STEP>워크시트 숨기기


워크시트 개체의 속성중에는 Visible이 있습니다. 이 속성은 워크시트를 보이거나 숨기는 역할을 합니다. 그런데 이 속성이 사람을 당황하게 만듭니다. 무엇을 보이거나 숨긴다면 True 혹은 False이면 충분할텐데 예상과는 달리 Visible속성에는 xlSheetVisibility의 열거형 상수값으로 xlSheetHidden, xlSheetVeryHidden, xlSheetVisible중 하나를 사용할 수 있습니다.

워크시트를 보이도록 하려면 xlSheetVisible값을 지정하면 됩니다. 그런데 워크시트를 숨기기 위해서 사용하는 상수값으로 xlSheetHidden, xlSheetVeryHidden가 있습니다. 이 대목이 헷갈리는 거죠. 과연 xlSheetHidden과 xlSheetVeryHidden이 무슨 차이일까요? (저는 이를 그냥 숨기기, 심하게 숨기기로 바꿔 부르곤 합니다

개발자들의 동의보감(東醫寶鑑)인 MSDN에는 다음과 같은 잉글리시(English)가 있습니다.

The Visible property allows you to show or hide an existing sheet without having to delete and recreate the sheet. Set the Visibility property to one of the xlSheetVisibility enumerated values (xlSheetHidden, xlSheetVeryHidden, xlSheetVisible). Using xlSheetHidden allows users to unhide the sheet through the Excel interface; using xlSheetVeryHidden requires that you run code to unhide the sheet

위의 글을 요약하면 Visible속성을 xlSheetHidden으로 지정하면 사용자가 엑셀 워크시트메뉴(서식-시트-숨기기 취소)를 사용하여 시트를 다시 보이도록 허용합니다. 그러나 xlSheetVeryHidden으로 지정한다면 오직 코드 실행를 통해서만 시트를 보일 수 있게 합니다. 

Sheet1.Visible = xlSheetHidden을 실행하고 워크시트메뉴 서식-시트를 클릭하면 숨기기 취소 메뉴항목이 사용가능해진 걸 볼 수 있습니다. 즉 사용자는 이 메뉴를 통해 Sheet1을 다시 보이도록 만들 수 있는 겁니다.

Sheet1.Visible = xlSheetVeryHidden을 실행하면 숨기기 취소 메뉴항목이 비활성화되어 오직 Sheet1.Visible = xlSheetVisible을 실행해야 Sheet1을 볼 수 있습니다. 

워크시트를 숨기려는 의도는 사용자에게 못 볼 걸 보여주고 싶지 않겠다는 뜻입니다. 그래서 많은 코딩 예를 보면 xlSheetHidden보다는 xlSheetVeryHidden을 사용합니다.