色々なことをメモします。パソコン(Excel)とか、音楽(ピアノ、エアロフォン、エレクトーン)とか。
 【Excel】ハイパーリンクで指定しているURLを取り出したい
2020年04月25日 (土) | 編集 |
ハイパーリンク

昔作ったExcelファイルを使おうと思い、見てみたらハイパーリンクが100個ほどありました。
そのハイパーリンクからURLを取り出したいのだけどどうしよう、、、
ハイパーリンクはハイパーリンクの挿入から入力したものではなく、HYPERLINK関数でURLを指定して入力したものです。

Excel 2013からの新しい関数で「FORMULATEXT」という関数があるのを知りました。
これはセルの数式を文字列として返してくれます。
これを使って、HYPERLINK関数からURLを取り出すことにしました。

A2:A6に次のようなHYPERLINKの数式が入っています。
A2=HYPERLINK("https://www.google.co.jp/","google")
A3=HYPERLINK("https://www.yahoo.co.jp/","yahoo")
A4=HYPERLINK("https://www.bing.com/","Bing")
A5=HYPERLINK("https://www.amazon.co.jp/","Amazon")
A6=HYPERLINK("https://auctions.yahoo.co.jp/","ヤフオク!")
B2にURLを取り出すための数式を入力します。
B2=MID(FORMULATEXT(A2),13,FIND(",",FORMULATEXT(A2))-14)
B2を選択して、右下のフィルハンドルをダブルクリックします。
これでURLを取り出すことができました^^

ハイパーリンクの挿入から入力したハイパーリンクは、この方法では取り出せないので、VBAを使うといいみたいです。

標準モジュールに次のようなコードを入力してみました。
ユーザー定義関数です。
Function GetURL(r As Range)
    GetURL = r.Hyperlinks(1).Address
End Function
D2:D6にハイパーリンクの挿入から入力したハイパーリンクが入っています。
E2にURLを取り出すための数式を入力します。
E2=GetURL(D2)
E2を選択して、右下のフィルハンドルをダブルクリックします。
URLを取り出すことができました。

やったことを忘れないようにメモしておきます^^

この動画をYoutubeにアップしました。

https://www.youtube.com/watch?v=AB4oqlN48dA
興味のある方は見てみてください。

最後までお読みいただき、ありがとうございました。

関連記事