2017-10-18 70 views
-1

我有一个excel电子表格,每列有一个形状,随着时间的推移将更多形状添加到列中。问题是,一些形状有超链接,而其他形状没有。我想编写一个vba宏来遍历列中的每个形状,并删除当前形状的超链接(如果有)。我试图录制一个宏,我手动删除一个形状的超链接,然后在全局应用这个动作。但是,工作表上有其他形状的超链接,因此我的宏只能应用于此特定列。有任何想法吗?Excel VBA宏删除每个形状的超链接

+0

发布您的代码。你到目前为止做了什么。 –

回答

0

本示例从列A中的形状中删除超链接,根据需要调整列。

Sub DeleteHyperlink() 
Dim shp As Shape 
Dim r As Range 

     Set r = Columns("A:A") 
     For Each shp In ActiveSheet.Shapes 
      If Not Intersect(Range(shp.TopLeftCell, shp.BottomRightCell), r) Is Nothing Then 
       On Error Resume Next 
       If shp.Hyperlink.Address <> "" Then shp.Hyperlink.Delete 
      End If 
     Next shp 

    End Sub 
+0

完美的作品。非常感谢! –

0

尝试使用以下过程一次删除所有超链接。

Sub DeleteHyperLinks() 
    Sheet1.Hyperlinks.Delete 
End Sub