엑셀에서 글자에 하이퍼 링크 걸려있는 것들에서 역으로 URL 주소들을 추출하고 싶을때가 있습니다. 인터넷에서 긁어온 내용을 엑셀에 붙인 뒤 거기에 하이퍼링크 걸려있는걸 뽑고 싶은 경우에요.
저는 유튜브의 한 재생목록을 긁어와서 거기 나온 영상 제목들을 정리하는 작업을 하는 중이었는데요.
웹 브라우저에서 드래그 해서 긁어오다 보니 이렇게 엑셀에 붙여넣은 후에도 하이퍼링크가 걸린채로 그대로 따라오더라고요. 잘됐다 싶었는데 한가지 이 안에 들어있는 하이퍼링크의 URL 주소만 빼내고 싶었습니다.
한두개면 직접 하이퍼링크 편집을 눌러서 URL주소 복사를 하겠지만, 백개가 넘는지라 일일이 할 수가 없더라고요.
하이퍼 링크 주소들을 추출하려면 다음과 같이 해주시면 됩니다.
① 리본메뉴 > 보기 > 매크로 > 매크로 보기에서 이름 하나 쓰고 만들기 클릭
(또는 단축키 Alt+F11 눌러서 창을 연 후 실행 > 매크로 실행에서 이름쓰고 생성)
② 첫줄 Sub와 마지막 줄 End 포함해서 아래 코드를 기입합니다.
Sub ExtractHyperlinkURLs()
Dim ws As Worksheet
Dim cell As Range
Dim hyperlink As Hyperlink
' Set the worksheet to the active sheet
Set ws = ActiveSheet
' Loop through all cells in the used range of the worksheet
For Each cell In ws.UsedRange
' Check if the cell has a hyperlink
If cell.Hyperlinks.Count > 0 Then
' Get the first (and usually only) hyperlink in the cell
Set hyperlink = cell.Hyperlinks(1)
' Write the URL to the cell to the right
cell.Offset(0, 1).Value = hyperlink.Address
End If
Next cell
MsgBox "URL extraction complete!", vbInformation
End Sub
③ visual basic 창을 닫고 엑셀로 돌아가서 매크로 실행
이렇게 하면 하이퍼 링크가 있는 위치의 오른쪽 셀에 각각 URL 주소가 추출되어 찍힙니다. 위 코드에서 offset(0,1) 이 부분이 추출한 URL주소를 기입할 상대주소입니다. (1,0) 으로 하시면 아래에 기입되고, (0,-1) 로 하시면 왼쪽에 기입됩니다.
엑셀에서 하이퍼링크 걸려있는 셀의 URL 주소 일괄 추출하는 방법 살펴보았습니다. 알아두면 퇴근시간이 빨라지는 아래 엑셀 꿀팁들도 참고해보시면 좋겠습니다.