Excel VBA テクニック集 |
選択範囲とハイパーリンクの位置がかさなる場合、削除します。 この場合、Excel関数Intersectを使います。 使い方は、ファイル一覧を使った応用の、「マクロ専用ファイル」によるマクロ実行に、下記コードを入れます。 Dim Range_Obj As Object Dim Object_Obj As Object Set Range_Obj = Excel_App.ActiveSheet.Cells 又は Set Range_Obj = Excel_App.ActiveSheet.Range("A2:D20") For Each Object_Obj In Excel_App.ActiveSheet.Hyperlinks If Not (Application.Intersect(Object_Obj.Parent, Range_Obj) Is Nothing) Then Object_Obj.Delete End If Next Object_Obj Set Range_Obj = Nothing Set Object_Obj = NothingObject_Obj.Parentとは、ハイパーリンクが登録されているセルになります。 Application.Intersect(Object_Obj.Parent, Range_Obj)とは、例えば具体的に下図でApplication.Intersect("B2:F7", "E5:H10")の場合、 2つの領域B2:F7,E5:H10の共通領域E5:F7を示します。なお、共通領域がなければNoThingになります。 したがって If Not (Application.Intersect(Object_Obj.Parent, Range_Obj) Is Nothing) Then とは、「リンクが登録されているセルとRange_Objとの間に共通領域があるならば」という意味になります。 |
「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究| |