엑셀 VBA를 사용하여 워크시트 숨기기 및 표시하기 방법
엑셀 VBA를 사용하면 워크시트를 숨기거나 표시하는 것이 가능합니다. 이를 활용하여 데이터를 보호하거나, 워크시트 관리를 편리하게 할 수 있습니다.
이번 포스팅에서는 엑셀 VBA를 이용하여 워크시트를 숨기거나 표시하는 방법에 대해 알아보겠습니다.
1. 워크시트 숨기기
1-1. 단일 워크시트 숨기기
VBA 코드를 통해 단일 워크시트를 숨길 수 있습니다.
Sub Hide_Sheet()
Sheets("Sheet1").Visible = False
End Sub
위 코드에서는 "Sheet1"이라는 워크시트를 숨기는 코드입니다. 만약 워크시트 이름이 "Sheet1"이 아니라면, 워크시트 이름을 해당하는 이름으로 변경하여 사용하시면 됩니다.
1-2. 여러 워크시트 숨기기
여러 워크시트를 한 번에 숨길 때는 For Each 문을 사용하여 숨김 처리합니다.
Sub Hide_MultipleSheets()
Dim WkSht As Worksheet
For Each WkSht In Worksheets
If Not WkSht.Name = "Sheet1" Then
WkSht.Visible = xlSheetHidden
End If
Next WkSht
End Sub
위 코드에서는 모든 워크시트 중에서 "Sheet1"이 아닌 워크시트를 모두 숨깁니다.
2. 워크시트 표시하기
2-1. 단일 워크시트 표시하기
VBA 코드를 통해 단일 워크시트를 표시할 수 있습니다.
Sub Unhide_Sheet()
Sheets("Sheet1").Visible = True
End Sub
위 코드에서는 "Sheet1"이라는 워크시트를 표시하는 코드입니다. 역시 만약 워크시트 이름이 "Sheet1"이 아니라면, 해당하는 이름으로 변경하여 사용하시면 됩니다.
2-2. 여러 워크시트 표시하기
여러 워크시트를 한 번에 표시할 때는 For Each 문을 사용하여 처리합니다.
Sub Unhide_MultipleSheets()
Dim WkSht As Worksheet
For Each WkSht In Worksheets
WkSht.Visible = True
Next WkSht
End Sub
위 코드에서는 모든 워크시트를 모두 표시합니다.
3. 워크시트 숨기기/표시하기 예제
앞서 살펴본 예제를 기반으로 이제 워크시트를 숨기고 표시하는 예제를 만들어보겠습니다. 이 예제에서는 매크로 버튼을 클릭하여 "Sheet1", "Sheet2", "Sheet3" 워크시트를 숨기고, 다시 버튼을 클릭하여 모든 워크시트를 표시합니다.
- 먼저 VBA 에디터를 엽니다. (개발 탭 - Visual Basic)
- 새로운 모듈을 추가합니다. (개발 탭 - 삽입 - 모듈)
- 아래의 코드를 입력합니다.
Dim bState As Boolean
Sub Toggle_VisibleSheets()
bState = Not bState
Sheets("Sheet1").Visible = bState
Sheets("Sheet2").Visible = bState
Sheets("Sheet3").Visible = bState
End Sub
위 코드에서 bState 변수는 Toggle 함수의 상태를 저장하기 위한 변수입니다. Toggle_VisibleSheets 함수는 워크시트를 토글하는 기능을 수행합니다.
- 이제 엑셀 창으로 돌아가서 "개발" 탭에서 "삽입" 버튼을 누르고, "실무용 콘트롤"에서 "명령 단추"를 선택합니다.
- 새로 생성된 버튼을 마우스 오른쪽 버튼으로 클릭하고, "명령 단추 편집"을 선택합니다.
- "선택한 개체 서식" 탭에서 "컨트롤 색상"을 변경합니다.
- "제어 값" 탭에서 "매크로"를 선택하고, 위에서 생성한 "Toggle_VisibleSheets" 함수를 선택합니다.
- 확인 버튼을 클릭합니다.
이제 매크로 버튼을 클릭하여 워크시트를 숨기거나 표시할 수 있습니다.
4. 마무리
이번 포스팅에서는 엑셀 VBA를 이용하여 워크시트를 숨기고 표시하는 방법에 대해 알아보았습니다. 이를 이용하여 엑셀 파일 관리를 더욱 편리하게 할 수 있습니다. 더 많은 VBA 관련 정보는 VBA 개발자 센터에서 확인하실 수 있습니다.
포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!
행복한 하루 되세요!
'■ 칼퇴를 위한 VBA : 사례 > - VBA for 엑셀' 카테고리의 다른 글
엑셀 VBA를 이용한 조건부 서식 삭제 방법 (0) | 2023.06.24 |
---|---|
VBA 스크립트를 활용한 엑셀 데이터 유효성 검사 방법 (0) | 2023.06.24 |
VBA를 활용한 엑셀 데이터 변환 방법 (0) | 2023.06.24 |
엑셀 VBA로 작업 시간 계산 자동화하기 (0) | 2023.06.24 |
VBA 코드를 활용한 엑셀 매크로 만들기 (0) | 2023.06.24 |