めも、メモる

技術的メモ. Sencha/C#など。

エクセルのリンク先を取得する

Alt + F11でVBAを開いて、標準に以下をコピペすると関数として使えるようになる。

 

Public Function linkAddress(r As Range) As String

    If r.Hyperlinks.Count > 0 Then '指定したセルにハイパーリンクオブジェクトがある

        linkAddress = r.Hyperlinks(1).Address

        '追加部分

        If r.Hyperlinks(1).SubAddress <> "" Then

            linkAddress = linkAddress & "#" & r.Hyperlinks(1).SubAddress

        End If

    Else

     If InStr(r.Formula, "=HYPERLINK") Then 'HYPERLINK関数を使っている

            linkAddress = Mid(r.Formula, 13, InStr(13, r.Formula, """") - 13)

      Else

         linkAddress = ""

      End If

    End If

End Function