Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

VBA

엑셀 하이퍼링크를 여는 VBA 코드

권현욱(엑셀러) 2023. 10. 24. 11:00
반응형

Excel 파일에서 하이퍼링크를 여는 방법에는 여러 가지가 있습니다. 예를 들어, 웹사이트를 자동으로 열어서 웹사이트를 업데이트 여부를 확인하거나, 바로 조사를 수행하는 등 작업을 간편하게 할 수 있습니다.

Excel 매크로나 VBA를 잘 몰라도 상관없습니다. 아래에서 소개된 코드를 복사/붙여넣기(복/붙) 하세요. 여러분들은 진행되는 순서만 잘 이해하시면 되며, [VBA 입문 강의]를 보실 것을 추천합니다.

 

※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 제 개인 의견이나 추가 자료들이 다수 포함되어 있습니다. 원문 내용이 궁금하신 분은 URL을 살펴보세요.


  • 원문: Excel Visual Basic Code That Open Hyperlinks
  • URL: https://turbofuture.com/computers/excel-visual-basic-code-examples-that-open-hyperlinks

1. 셀에서 하이퍼링크 열기

특정 셀 위치에 있는 하이퍼링크를 열면 편리한 점이 있습니다(예. 주요 정보에 대한 빠른 탐색, 데이터 검증, 동적 데이터 업데이트, 대화형 대시보드 등).

다음 단계를 통해 이 코드를 사용해 보세요.  

  1. Alt + F11을 눌러서 Visual Basic Editor를 엽니다.
  2. [삽입] - [모듈] 메뉴를 선택하여 모듈을 삽입하고, 다음 VBA 코드를 입력합니다.
Sub OpenSpecificHyperlink()
    Sheets("Sheet1").Range("A1").Hyperlinks(1).Follow
End Sub

하이퍼링크가 들어있는 시트 이름과 셀 주소는 지정합니다.

(이미지: 아이엑셀러 닷컴)

2. 범위에서 하이퍼링크 열기

특정한 범위에 있는 여러 개의 하이퍼링크를 열어야 하는 경우도 있습니다.(예. 일괄 데이터 액세스, 외부 시스템과의 통합, 데이터 유효성 검사 등).

다음 단계를 통해 이 코드를 사용해 보세요.  

  1. Alt + F11을 눌러서 Visual Basic Editor를 엽니다.
  2. [삽입] - [모듈] 메뉴를 선택하여 모듈을 삽입하고, 다음 VBA 코드를 입력합니다.
Sub OpenHyperlinksInRange()
    Dim cell As Hyperlink
    For Each cell In Worksheets("Sheet1").Range("A1:B10").Hyperlinks
        cell.Follow
    Next
End Sub

이 코드를 실행하면 A1:B10 영역에 들어 있는 하이퍼링크들이 한꺼번에 열립니다.

3. 현재 워크시트 내의 모든 하이퍼링크 열기

특정 시트에 있는 모든 하이퍼링크를 열 수도 있습니다. 하이퍼링크가 어떤 셀에 있든 관계없이 현재 워크시트에 있는 모든 하이퍼링크를 여는 코드를 작성합니다.

다음 단계를 통해 이 코드를 사용해 보세요.  

  1. Alt + F11을 눌러서 Visual Basic Editor를 엽니다
  2. [삽입] - [모듈] 메뉴를 선택하여 모듈을 삽입하고, 다음 VBA 코드를 입력합니다.
Sub OpenMultipleHyperlinks()
    Dim cell As Hyperlink
    For Each cell In ActiveSheet.Hyperlinks
        cell.Follow
    Next
End Sub

(이미지: 아이엑셀러 닷컴)

4. InputBox에서 하이퍼링크 열기

InputBox를 사용하여 Excel에서 하이퍼링크를 여는 방법도 있습니다. 이 시나리오에서는 매크로를 활성화한 후 입력 상자에 하이퍼링크를 입력하고 확인을 선택하여 웹 페이지를 열 수 있습니다.

다음 단계를 통해 이 코드를 사용해 보세요.  

  1. Alt + F11을 눌러서 Visual Basic Editor를 엽니다.
  2. [삽입] - [모듈] 메뉴를 선택하여 모듈을 하나 삽입하고, 다음 VBA 코드를 입력합니다.
Sub OpenHyperlinkFromInput()
    Dim address As String
    address = InputBox("Enter hyperlink address:", "Open Hyperlink")
    ActiveWorkbook.FollowHyperlink address
End Sub

이 코드를 실행하면 InputBox가 나타납니다. 입력란에 접속할 URL을 입력하고 [확인] 버튼을 누르면 됩니다.

(이미지: 아이엑셀러 닷컴)

5. 직접 지정하여 하이퍼링크 열기

매크로가 변경되지 않는 한 동일한 하이퍼링크를 여는 데 관심이 있을 수 있습니다. VBA 코드에서 바로 열 수 있는 하이퍼링크를 입력하면 됩니다.

다음 단계를 통해 이 코드를 사용해 보세요.  

  1. Alt + F11을 눌러서 Visual Basic Editor를 엽니다.
  2. [삽입] - [모듈] 메뉴를 선택하여 모듈을 하나 삽입하고, 다음 VBA 코드를 입력합니다.
Sub OpenHardcodedHyperlinks()
    Dim hyperlinks As Variant
    hyperlinks = Array( _
        "http://www.iexceller.com", _
        "https://iexceller.tistory.com", _
        "https://www.youtube.com/channel/UCBZgtEAxAOHUECIFa5oE6Mg")
    
    Dim i As Integer
    For i = LBound(hyperlinks) To UBound(hyperlinks)
        ActiveWorkbook.FollowHyperlink address:=hyperlinks(i)
    Next
End Sub

불필요한 링크를 제거하거나, 반대로 더 많은 링크를 추가할 수도 있습니다.

6. 통합 문서를 열 때 하이퍼링크 자동 열기

통합 문서를 열 때 하이퍼링크 시나리오를 모두 여는 VBA 코드입니다.

다음 단계를 통해 이 코드를 사용해 보세요.  

  1. Alt + F11을 눌러서 Visual Basic Editor를 엽니다.
  2. 왼쪽 창에서 ThisWorkbook(현재 통합 문서)을 선택합니다(더블 클릭).
  3. 오른쪽 창이 나타나면 다음 VBA 코드를 입력합니다(이벤트 프로시저).
Private Sub Workbook_Open()
    Call OpenHardcodedHyperlinks
End Sub

Sub OpenHardcodedHyperlinks()
    Dim hyperlinks As Variant
    hyperlinks = Array( _
        "http://www.iexceller.com", _
        "https://iexceller.tistory.com", _
        "https://www.youtube.com/channel/UCBZgtEAxAOHUECIFa5oE6Mg")
    
    Dim i As Integer
    For i = LBound(hyperlinks) To UBound(hyperlinks)
        ActiveWorkbook.FollowHyperlink Address:=hyperlinks(i)
    Next
End Sub