ハイパーリンクからURLを取得するには

Excelではセルや画像にハイパーリンクを設定することが出来ます。便利な機能ですが、表示文字列とリンクは別で扱われるため、URLやアドレスが直接見えないという欠点があります。

また、リンク先が変わった場合などでハイパーリンクのアドレスを変更をしないといけない場合に、どのセルや画像にどういうハイパーリンクが設定されているのかを確認しないといけない、という面倒な点があります。そういう場合に一つずつ調べるのは大変です。

そこで以下では、ブックに含まれるハイパーリンクを全て抽出する方法を紹介します。

コード

以下の関数を実行すると、アクティブブックの全シートのセルと画像のハイパーリンクを抜き出し、新規シートに一覧で出力します。

出力する内容は「シート名」、「セルや画像の座標」、「セル or 画像 の種類」、「アドレス」の4つです。

画像の場合の座標は、その画像の左上が含まれているセル座標を出力しています。

ハイパーリンクには、インターネットのURLなどの外部へのリンクを示すAddressプロパティと、ブック内のセルを参照する場合などの内部へのリンクを示すSubAddressプロパティがあります。どちらか設定されている方を出力するようにしています。

使い方

ハイパーリンクを調べたいブックを表示して(アクティブにして)、上の関数を実行するだけです。ブックの一番左に新規シートが追加されてハイパーリンクの情報が出力されます。

以下は実行例です。A列がシート名、B列がセルや画像(の左上)の座標、C列がセルか画像か、D列がハイパーリンク先のアドレスです。