하이퍼링크는
문서 내의 다른 위치, 웹사이트, 파일 또는 이메일 주소 등으로 연결되는 텍스트나 이미지 같은 것을 말합니다.
엑셀에서 하이퍼링크에는 보통 밑줄이 그어져 있고,
파란색 글자로 표시가 됩니다.
하이퍼링크를 클릭하면 연결된 위치로 이동을 합니다.
하이퍼링크(HyperLink) 만들기
특정 셀에 다음(www.daum.net)으로 연결되는 하이퍼링크를 만드는 코드입니다.
Sub 하이퍼링크()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("C4").Hyperlinks.Add anchor:=Range("C4"), Address:="https://www.daum.net", TextToDisplay:="다음", ScreenTip:="다음으로이동"
End Sub
위 코드는
현재 활성화된 워크시트의 → C4 셀에 → 하이퍼링크를 추가합니다.
anchor은 대상이 되는 셀입니다.
address는 연결될 링크입니다.(웹페이지의 경우 모든 주소를 써주어야 합니다.)
TextToDisplay는 화면에 표시되는 텍스트입니다.
ScreenTip은 텍스트에 마우스를 가져다 댔을 때 나타나는 툴팁입니다.
아래 그림에서 빨간색 네모 부분이 TextToDisplay이고
파란색 네모 부분이 ScreenTip입니다.
Add 함수의 Anchor 속성
만약 아래 코드와 같이 앞에는 Range("C4")를 설정하고
anchor 속성으로 Range("C3")를 설정하면 어떻게 될지 확인해 보겠습니다.
Sub 하이퍼링크()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("C4").Hyperlinks.Add anchor:=Range("C3"), Address:="https://www.daum.net", TextToDisplay:="다음", ScreenTip:="다음으로이동"
End Sub
위 코드를 실행하면
C4셀에는 아무런 결과가 나타나지 않고
C3셀에 텍스트와 링크가 생성이 됩니다.
anchor에 설정된 셀이 우선합니다.
Cells() 함수 사용
Cells() 함수를 사용할 수도 있습니다.
Sub 하이퍼링크()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("C11").Hyperlinks.Add anchor:=Cells(4, 3), Address:="https://www.daum.net", TextToDisplay:="다음", ScreenTip:="다음으로이동"
End Sub
위 코드를 실행하면 Cells(4, 3)
즉, C4셀에 링크가 생성이 됩니다.
범위와 함께 사용할 경우
그럼 만약 아래 코드와 같이
범위를 지정하면 어떻게 될지 확인해 보겠습니다.
Sub 하이퍼링크()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("A1:C4").Hyperlinks.Add anchor:=Range("A1:C4"), Address:="https://www.daum.net", TextToDisplay:="다음", ScreenTip:="다음으로이동"
End Sub
위 코드의 실행결과는 다음과 같습니다.
예상과 다르게 A1셀에만 하이퍼링크 텍스트가 보입니다.
하지만 A1 ~ C4범위에 모두 하이퍼링크가 있습니다.
눈에 보이지 않지만, 빈 셀에 하이퍼링크가 연결되어 있고
텍스트는 A1셀에만 나타납니다.
왜 그런지는 모르겠지만....생각지 못한 상황입니다.
만약 범위 전체에 링크 텍스트를 생성하고 싶다면
For문을 사용해야 합니다.
Sub 하이퍼링크()
Dim ws As Worksheet
Set ws = ActiveSheet
For i = 1 To 4
For j = 1 To 4
ws.Range("A1:C4").Hyperlinks.Add anchor:=Cells(i, j), Address:="https://www.daum.net", TextToDisplay:="다음", ScreenTip:="다음으로이동"
Next j
Next i
End Sub
여기를 방문하시면 더 많은 엑셀 관련 자료를 확인할 수 있습니다.
'EXCEL VBA' 카테고리의 다른 글
[ 엑셀 VBA ] 특정 셀에 데이터를 입력하면, 입력 날짜 및 시간 생성, 데이터 변경 날짜 자동입력 (0) | 2024.09.12 |
---|---|
[ 엑셀 VBA ] 선택한 범위의 셀 주소 표시하기 (0) | 2024.09.07 |
[ 엑셀 VBA ] 시트 이동하는 여러가지 방법, 시트 이동하기 (0) | 2024.09.06 |
[ 엑셀 VBA ] 시트 삭제하는 여러가지 방법, 엑셀 시트 삭제하기 (0) | 2024.09.06 |
[ 엑셀 VBA ] 시트 추가하는 여러가지 방법, 엑셀 시트 추가하기 (0) | 2024.09.05 |