エクセルでテキストに張り付いているハイパーリンク先のURLを取り出す方法

  • ガイド ( How to )
  • ありがとう数:0

はじめに

ホームページで文字列をクリックすると、新しくページが開きますよね。 それが、ハイパーリンクですが、そのURLを一つ一つコピーするのは面倒だ・・・もっと簡単にできる方法はないのかとお考えの方に。 2種類の方法ですが、お好みでどうぞ。本当に便利です!!!

STEP1

関数では、ハイパーリンクを取り出すことはできませんので、マクロを使用しましょう。
マクロの貼り付け方法はショートカットALT+F11でVBA画面を開きます。
左上、VBA Projectで作業しているseet名をダブルクリック。
そこに、下記マクロをコピー&ペーストして下さい。
実行する際は、ALT+F8でマクロ画面を開き、実行をクリック
数分ですべて取り出すことが出来ますよ。

STEP2

作業しているシートのハイパーリンクが入っているセルの右隣に、URLを書き出します。

STEP3Public Sub GetURL()

  Dim h As Hyperlink
  Dim a As String
  Dim s As String
  For Each h In ActiveSheet.Hyperlinks
    a = h.Address
    s = h.SubAddress
    If s "" Then
      a = a & "#" & s
    End If
    h.Range.Offset(0, 1) = a
  Next
End Sub

STEP4

作業しているシートの後ろに新しくシートを作り、A列にハイパーリンクのアドレス、B列がセルアドレスです。ハイパーリンクの入っていない文字列は詰められてしまいます。
セルアドレスで確認が必要ですが、VLOOKUPなどを使用して、入力して下さい。

STEP5Sub Macro1()

Dim idx As Integer
Dim ws As Worksheet
Dim trg As Range
 Set ws = ActiveSheet
 If ws.Hyperlinks.Count > 0 Then
  Worksheets.Add after:=ws
  Set trg = ActiveSheet.Range("A1")
  For idx = 1 To ws.Hyperlinks.Count
   If Left(ws.Hyperlinks(idx).Address, 1) = "=" Then
    trg.Value = "'" & ws.Hyperlinks(idx).Address
   Else
    trg.Value = ws.Hyperlinks(idx).Address
   End If
   trg.Offset(0, 1).Value = ws.Hyperlinks(idx).Parent.Address
   Set trg = trg.Offset(1)
  Next idx
 End If
End Sub

特集


感謝でトクする時代へ!感謝経済に参加しよう!

ピックアップ

ページ先頭へ