1/05/2025

Excel。VBA。ハイパーリンクを一括・セル範囲で削除したい【Unlink】

Excel。VBA。ハイパーリンクを一括・セル範囲で削除したい

<Excel VBA:Hyperlinks.Delete>

データを貼り付けや、読み込んだところ、メールアドレスやWebサイトのURLなどにハイパーリンクの設定が自動的にされてしまうことがあります。


次のような状態です。

ハイパーリンクを一括・セル範囲で削除

印刷をするとなると、この青い文字で下線付きの状態で印刷されてしまいます。


また、何かの拍子に、クリックしてしまう恐れもあります。


そのため、一括解除やセル範囲を指定して、ハイパーリンクを削除したいわけです。


そこで、今回は、Excel VBAをつかった対応方法をご紹介します。


Sub ハイパーリンク削除()

    ActiveSheet.Hyperlinks.Delete

End Sub


たったこれだけですが、削除することができます。


実行してみましょう。


このように、とても簡単に解除することができます。


シートのアチラコチラに、ハイパーリンクが設定されているときには、この方法で対応することができます。


ActiveSheet.Hyperlinks.Delete


HyperlinksコレクションのDeleteメソッドでハイパーリンクのみを削除することができます。


なので、次のように、ActiveSheetをRangeなどの範囲に変えることで、セル範囲でのハイパーリンクの削除をすることができます。


Sub ハイパーリンク削除()

    Range("a2:a5").Hyperlinks.Delete

End Sub


では、実行してみましょう。


Range("a2:a5") とセル範囲を指定しましたので、A2:A4までのハイパーリンクは削除されています。


A6のハイパーリンクは削除されずに残ったままになっています。


なお、ハイパーリンクの書式。青い文字で下線 は残したまま、つまり書式を残したままハイパーリンクだけを削除したい場合には、

Range("a2:a5").ClearHyperlinks

とすることで、対応できます。