Excel VBAでハイパーリンクを一括削除する方法|シート全体・セル範囲別の削除手順を解説

Excelのシートに大量のハイパーリンクが含まれていると、削除作業に手間がかかってしまうことがあります。
本記事では、VBAを使ってハイパーリンクを一括で削除する方法について、シート全体と特定セル範囲のケースに分けてご紹介いたします。


目次

想定する用途と目的

  • シートに貼り付けた外部データから余計なリンクを取り除きたい。
  • リンクだけを消して、セルの内容や書式は保持したい。
  • 一部の範囲だけリンクを消したいが、他のセルはそのままにしたい。

シート全体のハイパーリンクを削除する方法

以下のコードでは、アクティブシート上に存在するすべてのハイパーリンクを一括で削除します。

Sub DeleteAllHyperlinksInSheet()

    ActiveSheet.Hyperlinks.Delete

End Sub

解説

  • ActiveSheet.Hyperlinks.Delete を使うと、表示されているテキストはそのままに、リンク情報だけを削除します。
  • セルの値や背景色、フォントなどは保持されます。

特定範囲のハイパーリンクを削除する方法

範囲1:B2~B4のリンクを削除(Hyperlinksコレクション使用)

Sub DeleteHyperlinksInRange1()

    Dim targetRange As Range
    Set targetRange = ActiveSheet.Range("B2:B4")
    
    targetRange.Hyperlinks.Delete

End Sub

範囲2:B5~B6のリンクを削除(ClearHyperlinksメソッド使用)

Sub DeleteHyperlinksInRange2()

    Dim clearRange As Range
    Set clearRange = ActiveSheet.Range("B5:B6")
    
    clearRange.ClearHyperlinks

End Sub

違いの比較

メソッド特徴
.Hyperlinks.Deleteセル内のテキストはそのまま。書式も維持。
.ClearHyperlinksセル内容もクリアされることがある(バージョン依存)。慎重に使用する必要あり。

まとめ

Excel VBAを使用すれば、シート全体または一部のセル範囲に対して、ハイパーリンクを一括で削除することが可能です。
リンク付きデータの整形や、コピー元の不要なリンク除去において、非常に役立つ機能です。

特に、次のような状況では本記事の方法が有効です。

  • Webからコピーしたデータに大量のリンクが含まれている。
  • ファイル内で一部のリンクのみ除去したい。
  • 作業報告書や納品物からリンクを取り除きたい。

目的に応じて .Delete.ClearHyperlinks を使い分け、効率的なデータ整形を実現しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次