이 글에서는 엑셀에서 드롭다운 목록 하이퍼링크를 만들어 한 시트에서 다른 시트로 손쉽게 이동하는 방법을 알아봅니다. HYPERLINK 함수를 활용하는 방법과 VBA 코드를 사용하는 방법, 두 가지 방식을 실제 예제와 함께 단계별로 설명하겠습니다.
엑셀에서 다른 시트로 연결되는 드롭다운 목록 하이퍼링크를 만드는 2가지 방법
예시로 2020년 상반기 중 첫 3개월간의 판매 내역이 담긴 세 개의 서로 다른 시트가 있는 데이터셋을 가정해 보겠습니다. 각 워크시트는 월 이름에 맞춰 January(1월), February(2월), March(3월)로 이름을 변경했습니다. 우리는 시트 이름들이 들어있는 드롭다운 목록을 만들고, 선택한 항목에 따라 해당 시트로 이동하는 기능을 구현하고자 합니다.

방법 1. 엑셀 수식(HYPERLINK 함수)으로 드롭다운 목록 하이퍼링크 만들기
이번 방법에서는 HYPERLINK 함수를 사용해 작업을 완료합니다. 먼저 시트 이름으로 구성된 드롭다운 목록을 만들어야 합니다.
1단계:
- 드롭다운 목록을 만들 셀을 선택합니다. (이 예시에서는 January 워크시트의 A2 셀)

- 엑셀 리본 메뉴에서 데이터 탭으로 이동합니다.
- 데이터 유효성 검사를 클릭합니다.

2단계:
- 데이터 유효성 검사 창에서 설정 탭을 선택합니다. (기본적으로 선택되어 있음)
- 제한 대상 드롭다운 목록에서 목록 옵션을 선택합니다.

- 원본 입력란에 January, February, March를 입력하고 확인을 클릭합니다.
- 그러면 A2 셀에 세 가지 옵션 중 하나를 선택할 수 있는 드롭다운 목록이 생성됩니다.

3단계:
이제 A3 셀에 HYPERLINK 함수를 사용한 아래 수식을 입력합니다.
=HYPERLINK("#'" & A2 & "'!A1","이동")
수식 설명:
HYPERLINK 함수는 두 개의 인수를 필요로 합니다. 기본 문법은 다음과 같습니다.
=HYPERLINK(link_location,[friendly_name])
link_location – 링크를 클릭했을 때 이동할 위치를 지정합니다. 위 수식에서는-
- #(샵 기호)는 이동할 위치가 같은 통합 문서 내부임을 나타냅니다.
- A2 부분은 A2 셀에서 선택한 값, 즉 워크시트 이름을 가져옵니다.
- !A1 부분은 선택된 워크시트에서 이동할 셀 위치를 지정합니다.
위 스크린샷에서 A3 셀의 링크 위치는
#'January'!A1
입니다. 즉, 링크를 클릭하면 January라는 이름의 워크시트의 A1 셀로 이동하게 됩니다.
[friendly_name] – 링크에 표시될 이름입니다. 이 예시에서는 "이동"이라고 지정했습니다.
4단계:
January 워크시트의 A1:A3 범위를 복사하여 February와 March 시트에 붙여넣습니다. 그러면 모든 시트에서 A2 셀의 드롭다운 목록과 A3 셀의 수식을 사용할 수 있습니다. 이제 January 시트에서 February 시트로 이동하려면-
- 드롭다운 목록에서 February 옵션을 선택합니다.

- 그런 다음 A3 셀의 이동 링크를 클릭합니다.

- February 시트로 성공적으로 이동한 것을 확인할 수 있습니다.

- 같은 방식으로 드롭다운 목록에서 시트 이름을 선택하고 이동 링크를 누르면 해당 시트로 이동할 수 있습니다.
방법 2. VBA 코드로 드롭다운 목록 하이퍼링크를 통해 다른 시트 이동하기
이번 방법에서는 VBA 코드를 사용해 드롭다운 목록에서 선택한 시트 이름을 찾아 자동으로 해당 시트로 이동하는 기능을 구현합니다. 설명을 위해 April(4월), May(5월), June(6월)이라는 새로운 워크시트 세 개를 만들었습니다.

아래 단계를 따라 해 보세요:
- April 워크시트의 A2 셀에 앞서 살펴본 방법 1의 절차대로 April, May, June 항목으로 구성된 드롭다운 목록을 만듭니다.

- A2 셀의 드롭다운 목록을 복사하여 May와 June 시트에 붙여넣습니다.
- 시트 이름 탭에서 마우스 오른쪽 버튼을 클릭하고 코드 보기(View Code)를 선택합니다.

- 이제 아래 코드를 복사하여 비주얼 베이직 편집기(VBE)에 붙여넣습니다.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SheetRng As Range, SheetName As String, TargetSheet As Worksheet
Set SheetRng = Range("A:A")
If Intersect(Target, SheetRng) Is Nothing Then Exit Sub
SheetName = Target.Value
For Each TargetSheet In Sheets
If TargetSheet.Name = SheetName Then
TargetSheet.Activate
End If
Next TargetSheet
End Sub

- 동일한 코드를 May와 June 시트에도 복사해서 붙여넣습니다.
이제 드롭다운 목록에서 시트 이름을 선택하기만 하면, 백그라운드에서 실행 중인 코드가 자동으로 해당 워크시트로 이동시켜 줍니다. 현재 April 시트에 있다고 가정하고, A2 셀의 드롭다운 목록에서 May를 선택해 보겠습니다.

May라는 이름의 워크시트로 자동으로 성공적으로 이동한 것을 확인할 수 있습니다.

참고 사항
대용량 데이터셋에서는 드롭다운 목록이 있는 영역을 틀 고정해 두면 워크시트 맨 위로 스크롤하지 않고도 다른 시트로 편리하게 이동할 수 있습니다. 설정 방법은 다음과 같습니다-
- April 워크시트에서 처음 두 행을 고정하려면 세 번째 행을 선택합니다.
- 보기 탭으로 이동합니다.
- 틀 고정 드롭다운 목록을 클릭합니다.
- 틀 고정 옵션을 선택합니다.

위 단계를 완료하면 워크시트의 처음 두 행이 고정됩니다.
결론
지금까지 드롭다운 목록 하이퍼링크를 활용해 한 시트에서 다른 시트로 이동하는 방법을 예제와 함께 살펴보았습니다. 이 글이 두 가지 방법을 좀 더 자신 있게 활용하는 데 도움이 되기를 바랍니다. 궁금한 점이나 추가 제안 사항이 있다면 아래 댓글로 남겨 주세요.
함께 읽으면 좋은 관련 글
- 엑셀에서 회색으로 비활성화된 링크 편집 또는 원본 변경 옵션 해결 방법 7가지
- [해결 방법] 엑셀에서 링크 편집이 작동하지 않을 때
- 엑셀에서 여러 하이퍼링크 한 번에 활성화하는 방법 (4가지)
- VLOOKUP으로 다른 시트의 특정 셀에 하이퍼링크 걸기 (초간단 단계별 가이드)
- 엑셀 VBA: 크롬에서 하이퍼링크 열기 (예제 3가지)
- 엑셀 하이퍼링크 자동 업데이트 방법 (2가지)