사무자동화ㅋ/MS 오피스

엑셀에서 하이퍼링크 주소 추출 (VBA 매크로 이용)

RioRex 2020. 5. 6.

엑셀에서 웹사이트 내용을 복붙하다 보면, 하이퍼링크값 만을 추출하고 싶어질 때가 있습니다.

엑셀에서 하이퍼링크 주소만 추출하는 방법에 대해서 간단하게 살펴보겠습니다.

 

이 작업은 매크로 기능을 활용한 방법입니다.


엑셀에서 하이퍼링크 주소 추출 (VBA 매크로 이용)

  ① 매크로 작성 및 이용 방법

  ② 하이퍼링크 추출 방법 1: 텍스트에서 링크 추출 소스

  ③ 하이퍼링크 추출 방법 2: 이미지에서 링크 추출 소스 

  ④ 하이퍼링크 추출 방법 3: 이미지에서 링크 추출 소스 


1. 매크로 작성 및 이용 방법

컬럼 선택하고 Alt + F11 클릭하여 Microsoft Visual Basic for Applications 실행

B 컬럼 선택 후 Alt + F11 로 VBA 실행

② 도구 → 매크로 선택

③ 매크로 이름 입력 후 만들기 클릭

■ 매크로 실행 방법

더보기
◎ 매크로 실행 방법 재생 버튼 또는 실행 → Sub/사용자 정의 폼 실행(F5) 클릭

하이퍼링크 추출 방법 1: 텍스트에서 링크 추출 소스 (출처참조)

hyper 1.txt
0.00MB

Sub 주소추출()
  On Error Resume Next
  Dim rngCell As Range
  Dim lnkLink As Hyperlink

  For Each lnkLink In ActiveSheet.Hyperlinks
    With lnkLink.Parent
      .Offset(0, 1) = .Hyperlinks.Item(1).Address
    End With
  Next lnkLink
End Sub

하이퍼링크 추출 방법 2: 이미지에서 링크 추출 소스 

(선택 영역에 링크 값이 있으면 텍스트로 덮어씀 출처참조)

hyper 2.txt
0.00MB

Sub ConvertHLShapes()
  Dim shp As Shape
  Dim sTemp As String

  For Each shp In ActiveSheet.Shapes
    sTemp = ""
    On Error Resume Next 'go to next shape if no hyperlink
    sTemp = shp.Hyperlink.Address
    On Error GoTo 0
    If sTemp <> "" Then
      shp.TopLeftCell.Value = sTemp
      shp.Delete
    End If
  Next
End Sub

하이퍼링크 추출 방법 3: 이미지에서 링크 추출 소스 

hyper 3.txt
0.00MB

(단 이미지를 다 찾아서 하니까, 이미지 링크 있는거만 따로 복사해서, 별도 시트에서 진행필요

Sub KIHyperLink()
  Dim lnk As Hyperlink
  Dim i As Integer

  For Each lnk In ActiveSheet.Hyperlinks
    i = i + 1
    Cells(i, 1).Value = lnk.Address
  Next
End Sub

 

이상입니다.


이상입니다.

퍼가기 하실때는 출처 꼭 같이 남겨주시면 감사하겠습니다.


출처: 코키티비, http://cocatv.tistory.com/110

반응형

댓글