ハイパーリンクからURL情報だけを取り出す方法は? VBAで関数を作成 | EXCELトピックス

スポンサーリンク
スポンサーリンク

ハイパーリンクからURLアドレスのみを取り出すには?

Excelでセルに挿入されたハイパーリンクから、リンクテキストではなくURLアドレス部分だけを取り出したい場合があります。この記事では、Excelの機能を使用してURLアドレスのみを抽出する方法を解説します。

ここでは、ハイパーリンクの解除(右クリック→ハイパーリンク解除)という方法ではなく、URLアドレスを取り出す方法を解説します。

方法1: VBAマクロを使用してURLアドレスを取り出す

Excelの標準機能ではハイパーリンクのURLのみを直接取得することができないため、VBAマクロを使用してURLアドレスを取り出す方法が便利です。以下のVBAコードを使うと、指定セルからリンク先のURLだけを取り出して別のセルに表示できます。

ハイパーリンクからURLを取り出す、getURLという関数を作成します。

手順

  1. 「開発」タブから「Visual Basic」をクリックし、VBAエディタを開きます。
  2. 「挿入」→「標準モジュール」を選択し、次のコードを入力します。

VBAコード:

Function GetURL(Cell As Range) As String
    If Cell.Hyperlinks.Count > 0 Then
        GetURL = Cell.Hyperlinks(1).Address
    Else
        GetURL = ""
    End If
End Function

VBAコードの解説

  • Cell.Hyperlinks.Count > 0: 指定されたセルにハイパーリンクが存在するかどうかを判定します。
  • Cell.Hyperlinks(1).Address: ハイパーリンクのURLアドレス部分を取得します。
  • GetURL = “”: ハイパーリンクがない場合は空の文字列を返します。

使い方

  1. VBAエディタを閉じ、Excelシートに戻ります。
  2. URLを取り出したいセル(例:A2)があるとき、別のセル(例:B2)に次の数式を入力します:

=GetURL(A2)

これにより、セルA2のハイパーリンクのURLのみがB2セルに表示されます。

以下の表では、A列にハイパーリンクが含まれ、B列にVBA関数を使用してURLアドレスのみが表示されています。

A B
1 リンクテキスト URLアドレス
2 Google =GetURL(A2)
3 Example =GetURL(A3)

結果

  • B2セル:A2セルのハイパーリンク(Google)のURL「https://www.google.com」が表示されます。
  • B3セル:A3セルのハイパーリンク(Example)のURL「https://www.example.com」が表示されます。

まとめ

ExcelでハイパーリンクのURLアドレスのみを取り出すには、VBAマクロを使用する方法が便利です。GetURL関数を作成して使用することで、任意のセルに挿入されたハイパーリンクからURL部分だけを簡単に抽出することができます。

開発タブが表示されていないとき

開発タブを表示させるには? VBAやマクロの設定のために | EXCELトピックス
開発タブが表示されず、VBAやマクロの設定ができない場合の対処法ExcelでVBAやマクロを使用するためには、「開発」タブが必要ですが、初期設定では表示されていません。「開発」タブを表示する設定方法を以下にご紹介します。開発タブを表示させる方法「開発」タブは、Excelのオプション設定で表示することができます。以下の手...