Excel Tips by pPoy

トップへ←Top    VBAへVBA  VBA基礎へVBA 基礎  一般へ一般  

Macro 画像に設定されたハイパーリンクのみを削除する方法
(Excel97,Excel2000,Excel2002,Excel2003)
Excel のワークシートに貼り付けられた画像に設定済みの、URL (WEB サイト等)
などのハイパーリンク のみを一括で削除する方法です。
通常のセルに設定されたハイパーリンクに対しては何もしません。

以下のコードを標準モジュールに貼り付けてください。

Sub myHyperDelIMG()
'画像のハイパーリンクの削除
    Dim i As Long
    'Hyperlink applies to a Shape object
    Const msoHyperlinkShape As Long = 1
    
    For i = ActiveSheet.Hyperlinks.Count To 1 Step -1
        With ActiveSheet.Hyperlinks(i)
            If .Type = msoHyperlinkShape Then
                '画像のハイパーリンクを削除
                .Delete
            End If
        End With
    Next i
End Sub
≪使用方法≫

まず、ハイパーリンクの設定されているシートを表示してから、
メニューバーの 「ツール」−「マクロ」−「マクロ」 で、
マクロの選択画面から、「myHyperDelIMG」 を実行してください。

一瞬で、 シート内の画像のハイパーリンクがすべて削除されます。
この頁のTOPへTop
≪注意≫
  • このマクロの結果は元に戻せません。 コピーしたシートで試してください。

  • このマクロは、画像に設定されたハイパーリンクが対象です。
    セルに設定されたハイパーリンクは、こちら を使用して削除してください。

  • このマクロは、For Next ループを使って、Hyperlink オブジェクトの中から
    画像のみを探しています。
    最初は、簡単な For Each Next ループを使用したのですが、Excel2003 で
    異常終了する場合があるのであきらめました。

    もし、2003 でも無事に使えそうな For Each Next ループがありましたら、
    是非 こちら までお教えくださいませ。 m(__)m


この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。
又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

Copyright(C) pPoy 2006-2010