본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

엑셀 VBA를 사용하여 워크시트 숨기기 및 표시하기 방법

by 포탈메이커 2023. 6. 24.

엑셀 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" 워크시트를 숨기고, 다시 버튼을 클릭하여 모든 워크시트를 표시합니다.

  1. 먼저 VBA 에디터를 엽니다. (개발 탭 - Visual Basic)
  2. 새로운 모듈을 추가합니다. (개발 탭 - 삽입 - 모듈)
  3. 아래의 코드를 입력합니다.
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 함수는 워크시트를 토글하는 기능을 수행합니다.

  1. 이제 엑셀 창으로 돌아가서 "개발" 탭에서 "삽입" 버튼을 누르고, "실무용 콘트롤"에서 "명령 단추"를 선택합니다.
  2. 새로 생성된 버튼을 마우스 오른쪽 버튼으로 클릭하고, "명령 단추 편집"을 선택합니다.
  3. "선택한 개체 서식" 탭에서 "컨트롤 색상"을 변경합니다.
  4. "제어 값" 탭에서 "매크로"를 선택하고, 위에서 생성한 "Toggle_VisibleSheets" 함수를 선택합니다.
  5. 확인 버튼을 클릭합니다.

이제 매크로 버튼을 클릭하여 워크시트를 숨기거나 표시할 수 있습니다.


4. 마무리

이번 포스팅에서는 엑셀 VBA를 이용하여 워크시트를 숨기고 표시하는 방법에 대해 알아보았습니다. 이를 이용하여 엑셀 파일 관리를 더욱 편리하게 할 수 있습니다. 더 많은 VBA 관련 정보는 VBA 개발자 센터에서 확인하실 수 있습니다.

 



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!