• 최초 작성일: 2001-02-01
  • 최종 수정일: 2026-09-30
  • 조회수: 9 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: UserForm에 Hyperlink 삽입하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

이번 시간에는 메일 하나와 질문 하나를 살펴봅니다.

작년부터 선생님의 강좌를 보고 엑셀에 미쳐있는 사람입니다.

선생님께 배운 걸 주위 사람들에게 배포하면서 꼭 엑셀도사인 것처럼
되어 버렸습니다.
지금은 선생님의 VBA 강좌를 보고 있는데 제 머리가 나빠서인지 이해가
잘 되지 않아 선생님 강좌를 몽땅 프린트해서 보는 무식한 방법까지
쓰고 있습니다.

강좌 처음에 선생님 강좌만 보면 된다고 하셨는데 제가 감히(?) 선생님
말씀을 거역하고 책을 두권 샀습니다. 좀더 빨리 배우고 싶은 마음에서요.
앞으로도 선생님의 강좌를 계속 보면서 열심히 하겠습니다.
저에게 신세지는 일 없이 건강하세요.
수많은 제자들을 위해서요… ^^

이런 종류의 메일을 받으면 Exceller도 대한민국 (일부) 국민들의 정보인프라 앙양에 자그마한 보탬이 되는구나 하는 생각에 보람을 느낍니다. ^^ 모쪼록 단번에 빠져 들었다가 이내 사그라들지 마시고 꾸준히 정진하시기를 바랍니다.

속는 셈치고 한 6개월 정도만 Exceller의 KnowledgeBase를 내집 드나들 듯이 하시면 새로운 세상이 보일 것입니다. 어쨌거나 Exceller의 마수(?)에 걸려드신 것을 축하합니다. ^^

안녕하세요! 늘 친절한 강좌와 답변을 주셔서 감사합니다.
VB0036 강좌에서 PowerTools를 설치한 다음 "도움말"을 클릭하면 유저폼이
뜨면서 Exceller님 홈페이지 주소를 클릭하면 홈페이지에 연결이 되는데
이것은 어떻게 하면 되는 것인지요?

그럼 이만…

보통 워크시트 상에서 하이퍼링크를 삽입할 때에는 "삽입-하이퍼링크" 메뉴를 사용하거나 Hyperlink 함수를 사용합니다(하이퍼링크를 삽입하는 단축키는 Ctrl + K 입니다). 그런데 유저폼 상에서는 이러한 방법들을 사용할 수가 없으므로 약간의 다른 테크닉이 필요합니다만 그다지 어려운 것은 아닙니다.

이번 시간에는 유저폼에 URL과 E-Mail 계정을 하이퍼링크로 연결하는 방법에 대해 알아보도록 합니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 대표 직강 1강 무료

🎁 파워툴스 마스터클래스 · 엑셀 바이브 코딩

AI에게 말로 지시해서 '나만의 엑셀 도구'를 만들고 리본에 장착합니다.

  • 코딩 지식 없이 시작 · 코드는 AI가 작성
  • 엑셀 리본에 내 탭과 버튼을 만들고 XLAM으로 공유
  • 1강 무료 수강 가능
수강 신청하기 강의 소개 보기

UserForm에 Hyperlink 삽입하기

핵심 요약: 유저폼 하이퍼링크

레이블 Click 이벤트에서 FollowHyperlink에 URL이나 mailto 주소를 넘기고, 실패에 대비한 오류 처리를 둡니다.

  • 1단계: 유저폼에 URL과 E-mail 주소를 레이블로 배치합니다.
  • 2단계: lblURL_Click에서 FollowHyperlink로 홈페이지에 접속합니다.
  • 3단계: lblEMail_Click에서 mailto: 주소로 메일 프로그램을 실행합니다.

Step 1: 유저폼 만들기

(1) 먼저 VB Editor 상태에서 유저폼을 하나 삽입하고 아래와 같은 형태로 만듭니다. 여기서는 4개의 Label과 1개의 CommandButton이 사용되었습니다.

하이퍼링크 삽입 유저폼: 홈페이지 주소와 E-mail 주소 레이블, 창 닫기 버튼
아이엑셀러

Step 2: URL 레이블 Click 이벤트

(2) URL이 입력된 Label(http://www.iExceller.com)에 lblURL이라고 이름을 준 후 더블클릭하면 Click 이벤트(lblURL_Click)가 발생하게 되는데 이 때 아래와 같은 코드를 입력합니다.

Private Sub lblURL_Click()
    Dim strURL As String
    strURL = "http://www.iexceller.com"
    On Error GoTo ET
    '//URL명이 잘못되었다든가 접속이 제대로 안 될 경우 등에 대비하여 에러 처리를 위한
    '//부분입니다. 즉 에러가 발생하였을 경우, 바로 ET 부분을 실행하도록 합니다.

    ActiveWorkbook.FollowHyperlink Address:=strURL, NewWindow:=True
    '//FollowHyperlink는 하이퍼링크를 클릭하게 되면 발생되는 이벤트입니다.
    '//Address는 접속할 URL명, NewWindow는 통합 문서에 새 창을 만들기
    '//위한 것입니다.

    Unload Me
    Exit Sub
    '//정상적으로 접속이 되었을 경우에는 유저폼을 종료하고 프로시저를 종료합니다.

ET:
    MsgBox strURL & " 홈페이지에 접속할 수 없습니다", , "접속 실패//Exceller"
End Sub

Step 3: E-Mail 레이블 Click 이벤트

(3) Shift + <F7>키를 눌러 유저폼 상태로 돌아간 다음, E-Mail 계정이 입력된 부분을 더블클릭하고 아래의 코드를 입력합니다.

Private Sub lblEMail_Click()
    Dim strEmail As String
    strEmail = "mailto:exceller@netian.com"
    '//다른 것은 위의 것과 같고 앞에 "mailto:"를 적어주고 메일 계정을 입력한
    '//것이 다릅니다.

    On Error GoTo ET

    ActiveWorkbook.FollowHyperlink Address:=strEmail, NewWindow:=True
    Unload Me
    Exit Sub
ET:
    MsgBox strEmail & " 계정에 접근할 수 없습니다", , "접속 실패//Exceller"

End Sub

마무리

오늘은 짧게 여기까지…

정리 — 유저폼 하이퍼링크 핵심

구분 사용한 코드 역할
URL 접속 FollowHyperlink Address:=strURL 홈페이지 열기
새 창 NewWindow:=True 새 창에서 열기
메일 보내기 "mailto:" & 주소 메일 프로그램 실행
오류 처리 On Error GoTo ET 접속 실패 안내
폼 닫기 Unload Me 접속 후 폼 종료

자주 묻는 질문 (FAQ)

Q1. 유저폼에서는 왜 하이퍼링크 삽입 메뉴를 쓸 수 없나요?

삽입-하이퍼링크 메뉴와 HYPERLINK 함수는 워크시트용이므로 유저폼에서는 FollowHyperlink 메서드를 사용해야 합니다.

Q2. 메일 계정에 연결하려면?

Address에 앞에 "mailto:"를 붙인 메일 주소를 지정합니다.

Q3. 하이퍼링크 삽입 단축키는?

워크시트에서는 Ctrl + K입니다.

마치며

FollowHyperlink 메서드 하나로 유저폼에서도 홈페이지와 메일 링크를 연결할 수 있습니다.