3行マクロ講座 39回~すぐに役立つ3行マクロ

ワークシートのハイパーリンクを全部削除するマクロ

ワークシートのハイパーリンクを一括削除するマクロ
3行マクロ講座 20回で「選択範囲のハイパーリンクを全部削除するマクロ」を紹介しました。 なぜ、ハイパーリンクをまとめて削除するマクロがあると便利なのかといえば、ハイパーリンクの設定を後から削除しようとすると、 1つずつしか削除できないからです。

Excel2010以降
(Excel2010以降からは、複数のハイパーリンクを一括削除できるようになりました。範囲を選択して、右クリックからハイパーリンクの削除を選択します。)

「選択範囲のハイパーリンクを全部削除するマクロ」は、それなりに使えるマクロです。 しかし、範囲が飛び飛びだったり広かったりして、ハイパーリンクの選択が難しい時もあります。
今回は、範囲を選択することなく、ワークシートにあるハイパーリンクをすべて削除してしまうマクロを紹介します。
(サンプルファイルは、こちらから 3行マクロ39回サンプルデータ

ワークシートのハイパーリンクを全部削除するマクロ

例として、ハイパーリンクのテキストは、残してハイパーリンクだけ削除します。

Do...Loop ステートメント

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

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