ワークシートのハイパーリンクを全部削除するマクロ〜Excel VBA 3行マクロ
3行マクロ講座 39回〜すぐに役立つ3行マクロ
ワークシートのハイパーリンクを全部削除するマクロ
ワークシートのハイパーリンクを一括削除するマクロ
3行マクロ講座 20回で「選択範囲のハイパーリンクを全部削除するマクロ」を紹介しました。
なぜ、ハイパーリンクをまとめて削除するマクロがあると便利なのかといえば、ハイパーリンクの設定を後から削除しようとすると、
1つずつしか削除できないからです。
(Excel2010以降からは、複数のハイパーリンクを一括削除できるようになりました。範囲を選択して、右クリックからハイパーリンクの削除を選択します。)
「選択範囲のハイパーリンクを全部削除するマクロ」は、それなりに使えるマクロです。
しかし、範囲が飛び飛びだったり広かったりして、ハイパーリンクの選択が難しい時もあります。
今回は、範囲を選択することなく、ワークシートにあるハイパーリンクをすべて削除してしまうマクロを紹介します。
(サンプルファイルは、こちらから 3行マクロ39回サンプルデータ)
ワークシートのハイパーリンクを全部削除するマクロ
例として、ハイパーリンクのテキストは、残してハイパーリンクだけ削除します。


Do...Loop ステートメント
Do...Loop ステートメントは、条件を満たすまで、繰り返し処理を行うステートメントです。
While と Until のいずれかを使用して condition を指定しますが、 While と Untilの両方を使うことはできません。


考え方
Do Until アクティブシートのハイパーリンクが0になるまで
アクティブシートのハイパーリンクを削除
Loop

Do Until アクティブシートのハイパーリンクが0になるまで
アクティブシートのハイパーリンクを削除
Loop

コードは、
Sub ハイパーリンクをぜんぶ削除()
Do Until ActiveSheet.Hyperlinks.Count = 0
ActiveSheet.Hyperlinks(1).Delete
Loop
End Sub
マクロを実行するとハイパーリンクが削除されます。


次の1行マクロでもアクティブシートのハイパーリンクを削除することができます。

Sub シートのハイパーリンク消去()
ActiveSheet.Hyperlinks.Delete
End Sub

スポンサーリンク
スポンサーリンク
おすすめコンテンツ