Worksheet의 visible 속성에서는 아래와 같이 3가지 옵션을 사용할 수 있습니다.
1
2
3
4
5
6
7
8
9
|
Sub hideSheet()
Dim sht As Worksheet
Set sht = Sheet2
sht.Visible = xlSheetVisible '기본 값
sht.Visible = xlSheetHidden
sht.Visible = xlSheetVeryHidden
End Sub
|
cs |
첫 째는 xlSheetVisible. 이름에서도 유추할 수 있듯이 sheet를 숨기지 않고 그대로 보여주는 속성입니다.
그렇다면, xlSheetHidden과 xlSheetVeryHidden의 차이는 무엇일까요? 이름으로부터 xlSheetVeryHidden이 조금 더 높은 수준의 숨김을 지원하는 것 같은 느낌을 받을 수 있죠?
우선 xlSheetHidden부터 테스트를 해보겠습니다.

일단 Sheet2를 만들어줍니다. 이제 이 Sheet2를 숨겨보겠습니다.
[Alt + F11] 키를 통해 Visual Basic 편집기로 들어갑니다.
위와 같이 Sheet2를 더블 클릭한 뒤, 오른쪽의 코드 작성란에 다음의 코드를 써줍니다.
1
2
3
4
5
6
7
|
Sub hideSheet()
Dim sht As Worksheet
Set sht = Sheet2
sht.Visible = xlSheetHidden
End Sub
|
cs |
그런 뒤 아래의 현재_통합_문서를 더블 클릭한 뒤, 코드 작성란에 다음의 코드를 써줍니다.
1
2
3
|
Private Sub Workbook_open()
Call Sheet2.hideSheet
End Sub
|
cs |
이제 실행을 해보겠습니다. 윗쪽의 재생 버튼을 누르면 실행이 됩니다.
Sheet2가 정상적으로 감춰졌습니다. 하지만 Sheet1에 마우스 포인터를 올려두고 우클릭을 해볼까요?
[숨기기 취소] 버튼이 있네요. 이 버튼을 눌러보면?
숨어있는 Sheet2를 찾아낼 수 있습니다. [확인] 키를 눌러보면 원래대로 Sheet1 옆에 Sheet2가 나란히 보이는 것을 확인할 수 있습니다.
그렇다면 이렇게 허술하게 숨기는 것이 아닌, 확실하게 숨기는 방법이 있을까요?
네, 바로 xlSheetVeryHidden을 사용하는 것입니다.
다시 [Alt + F11]을 눌러 Visual Basic 편집기로 돌아간 뒤, Sheet2의 코드에서 xlSheetHidden만 xlSheetVeryHidden으로 바꾸어보겠습니다. 그리고 바로 실행을 해보죠.
1
2
3
4
5
6
7
|
Sub hideSheet()
Dim sht As Worksheet
Set sht = Sheet2
sht.Visible = xlSheetVeryHidden
End Sub
|
cs |
Sheet2가 사라진 것은 물론, 숨기기 목록에도 나타나지 않는 것을 확인할 수 있습니다.
'프로젝트 및 실습 > VBA' 카테고리의 다른 글
[VBA] Progressbar 사용법 (0) | 2022.06.14 |
---|---|
[VBA] 리본메뉴에 내가 만든 매크로 추가 (0) | 2022.04.28 |
[VBA] 콤보박스에 리스트 직접 추가 (0) | 2022.04.22 |
[VBA] 매크로 기록기를 활용해보자 (0) | 2022.04.19 |
[VBA] VBA 사용을 위한 준비 (0) | 2022.04.19 |