VBA 하이퍼링크

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 3월 23, 2023

이번 튜토리얼에서는 VBA에서 하이퍼링크와 관련된 작업을 수행하는 다양한 방법을 다룹니다.

VBA 하이퍼링크

VBA를 사용하면 하이퍼링크를 추가하거나 제거하고 하이퍼링크를 사용하여 이메일을 작성하거나 파일을 열 수 있습니다.

VBA로 하이퍼링크 추가하기

Hyperlinks.Add 메서드는 VBA를 사용하여 셀에 하이퍼링크를 추가합니다.

다음 코드는 A1 셀에 하이퍼링크를 추가합니다:

Sub AddHyperlinkToCell()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/"
End Sub

결과는 아래와 같습니다:

Add a Hyperlink to a Cell with VBA

VBA로 하이퍼링크에 표시할 텍스트 추가하기

VBA를 사용하여 하이퍼링크에 표시할 깔끔한 사용자 친화적인 텍스트를 추가할 수 있습니다. 워크시트 기능을 사용하는 경우 하이퍼링크를 삽입한 다음 대화 상자를 통해 표시할 텍스트를 추가할 수 있습니다.

아래 코드는 VBA를 사용하여 하이퍼링크에 표시할 텍스트를 추가하는 방법을 보여줍니다:

Sub TextToDisplayForHyperlink()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel"
End Sub

실행 결과는 아래와 같습니다:

Add Text To Display Using VBA

VBA로 스크린팁 추가하기

하이퍼링크에 스크린팁을 추가하면 뷰어가 링크 위로 마우스를 가져갈 때 표시되는 스크린팁을 추가할 수 있습니다.

아래 코드는 VBA를 사용하여 하이퍼링크에 스크린팁을 추가하는 방법을 보여줍니다:

Sub ScreenTipForHyperlink()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel", ScreenTip:="This is the link for Automate Excel"
End Sub

실행 결과는 아래와 같습니다:

Add a ScreenTip to the Hyperlink Using VBA

VBA로 하이퍼링크 삭제하기

Hyperlinks.Delete 메서드는 셀에서 하이퍼링크를 삭제하는 데 사용할 수 있습니다.

다음 코드는 A1 셀에서 하이퍼링크와 셀의 텍스트를 삭제합니다.

하이퍼링크만 삭제하면 텍스트 자체는 삭제되지 않으므로 텍스트도 삭제하려면 Clear 메서드를 사용해야 합니다.

Sub DeleteHyperlinkinCell()
  Range("A1").Hyperlinks.Delete
  Range("A1").Clear
End Sub

워크시트의 모든 하이퍼링크 삭제하기

Hyperlinks.Delete 메서드를 사용하여 워크시트의 모든 하이퍼링크를 삭제할 수도 있습니다.

다음 코드는 통합 문서의 첫 번째 워크시트에 있는 모든 하이퍼링크를 삭제합니다:

Sub RemoveAllHyperlinksInASheet()
  ThisWorkbook.Sheets(1).Hyperlinks.Delete
End Sub

VBA를 사용하여 웹 사이트 하이퍼링크 열기

다음 코드를 사용하면 통합 문서에서 FollowHyperlink 메서드를 사용하여 브라우저의 새 창에서 웹 사이트 주소를 열 수 있습니다:

Sub FollowHyperlinkForWebsite()
  ActiveWorkbook.FollowHyperlink Address:="https://www.automateexcel.com/excel", NewWindow:=True
End Sub

VBA를 사용하여 폴더 하이퍼링크 열기

다음 코드는 FollowHyperlink 메서드를 사용하여 데스크톱에서 ExcelFiles라는 폴더를 엽니다:

Sub FollowHyperlinkForFolderOnDrive()
  ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ExcelFiles"
End Sub
*코드에 정의한 폴더가 없을 경우 오류가 발생할 수 있습니다.

VBA를 사용하여 파일 하이퍼링크 열기

다음 코드는 FollowHyperlink 메서드를 사용하여 데스크톱의 ExcelFiles라는 폴더에 있는 WorkbookOne이라는 Excel 파일을 엽니다:

Sub FollowHyperlinkForFile()
  ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ExcelFiles\WorkbookOne.xlsx", NewWindow:=True
End Sub

같은 통합 문서의 다른 시트에 있는 셀로 이동하기

VBA를 사용하여 동일한 통합 문서에서 다른 시트로 이동하는 하이퍼링크를 추가할 수 있습니다. 통합 문서 Sheet1의 A1 셀에 같은 통합 문서 Sheet2의 B2 셀로 이동하는 하이퍼링크를 삽입하고 싶다면  SubAddress 속성을 사용하여 이 작업을 수행할 수 있습니다.

다음 코드를 참고해 주세요:

Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & Sheet2.Name & "'!B2", TextToDisplay:="Click Here to Go to Sheet2, cell B2 of the same workbook"
End Sub
*Sheet2가 없을 경우 오류가 발생할 수 있습니다.

워크시트의 모든 하이퍼링크 표시하기

VBA 편집기직접 실행 창에서 하이퍼링크 컬렉션에 액세스하여 워크시트의 모든 하이퍼링크를 표시할 수 있습니다. 직접 실행 창을 보려면 먼저 키보드에서 CTRL+G를 누르거나 VBA 편집기에서 보기>직접 실행 창을 선택해야 합니다.

다음 코드는 직접 실행 창에서 워크시트의 하이퍼링크를 보는 방법을 보여줍니다:

Sub ShowAllTheHyperlinksInTheWorksheet()

Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets(1)

For Each lnk In ws.Hyperlinks
Debug.Print lnk.Address
Next lnk

End Sub

직접 실행 창에 보여지는 결과는 아래와 같습니다.

통합 문서의 모든 하이퍼링크 표시하기

하이퍼링크 컬렉션에 액세스하여 통합 문서에 있는 모든 하이퍼링크를 반복하여 메시지 박스에 표시할 수 있습니다.

다음 코드는 이 작업을 수행하는 방법을 보여 주며, 이를 위해 중첩 반복문을 사용합니다:

Sub ShowAllTheHyperlinksInTheWorkbook()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
For Each lnk In ws.Hyperlinks
MsgBox lnk.Address
Next lnk
Next ws

End Sub

FollowHyperlink 메서드를 사용하여 이메일 만들기

FollowHyperlink 메서드를 사용하여 이메일을 만들 수도 있습니다.

아래 코드는 VBA에서 FollowHyperlink 메서드를 사용하여 이메일을 만드는 방법을 보여줍니다:

Sub SendEmailUsingHyperlink()

Dim msgLink As String

msgLink = "mailto:" & "person@email.com" & "?" & "subject=" & "Hello" & "&" & "body=" & "How are you?"
ActiveWorkbook.FollowHyperlink (msgLink)

End Sub

결과는 아래와 같습니다:

*설정된 이메일 계정 종류에 따라 레이아웃이 다를 수 있습니다(예 : 아웃룩, 구글 등)

Excel 도형에 하이퍼링크 추가하기

Excel에서 도형에 하이퍼링크를 추가하여 사용자가 도형을 클릭하면 웹 사이트 주소로 이동하도록 할 수 있습니다.

다음 코드는 모서리가 둥근 직사각형을 만들고, 도형에 텍스트를 추가하고, 도형에 하이퍼링크를 추가합니다:

Sub AddingAHyperlinkToAShape()

Dim myShape As Shape
Set myDocument = Worksheets("Sheet1")
Set myShape = myDocument.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)

With myShape
.TextFrame.Characters.Text = "Automate Excel"
End With

ActiveSheet.Hyperlinks.Add Anchor:=myShape, Address:="https://www.automateexcel.com/excel"

End Sub

결과는 아래와 같습니다:
Adding a Hyperlink to An Autoshape in VBA

VBA를 사용하여 셀에 하이퍼링크 수식 삽입하기

아래 이미지와 같이 A4 셀에 포스트 제목이 있고 B4 셀에 링크가 있다고 가정해 보겠습니다.

워크시트 하이퍼링크 수식 구문은 아래와 같습니다:

HYPERLINK(링크주소, [표시할텍스트])

링크주소– 문서, 파일, 통합문서 내의 특정 위치 또는 온라인 사이트에 대한 링크입니다.

표시할텍스트– (선택사항) – 셀에 표시되는 텍스트 또는 숫자 값입니다.

C4 셀에 표시텍스트가 있는 하이퍼링크를 추가하려는 경우 일반적으로 C4에 =HYPERLINK(B4,A4) 수식을 입력하여 다음과 같은 결과를 얻습니다:

VBA를 사용하여 동일한 결과를 얻을 수 있으며, 다음 코드를 사용하여 Sheet1의 셀에 이 수식을 삽입할 수 있습니다:

Sub InsertHyperlinkFormulaInCell()
  ActiveWorkbook.Worksheets("Sheet1").Range("C4").Formula = "=hyperlink(B4,A4)"
End Sub

Access에서 버튼에 하이퍼링크 추가하기

VBA를 사용하면 Access에서도 하이퍼링크로 작업할 수 있습니다. 폼에 버튼이 있고 사용자가 해당 버튼을 클릭하면 웹 사이트로 이동하기를 원한다고 가정 해 보겠습니다.  Application.FollowHyperlink 메서드를 사용하여 이를 구현할 수 있습니다.

아래는 buttonOne로 이름지어진 버튼이 있는 샘플 폼 입니다.

버튼에 대한 코드는 아래와 같습니다:

Private Sub buttonOne_Click()

Application.FollowHyperlink ("https://www.automateexcel.com/excel/")

End Sub

Word 선택 영역에서 하이퍼링크 만들기

Word VBA에서도 하이퍼링크로 작업할 수 있습니다.
아래 그림과 같이 선택된 “여기를 클릭하면 Automate Excel 웹사이트로 이동”이라는 텍스트가 Word에 있다고 가정해 보겠습니다.

VBA를 사용하여 이 텍스트를 하이퍼링크로 바꾸려면 다음 코드를 사용하면 됩니다:

Private Sub TurnASelectionIntoAHyperlink()
  ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="https://www.automateexcel.com/excel/", ScreenTip:="여기를 클릭해주세요", Target:=NewWindow
End Sub

결과는 아래와 같습니다:

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기