删除超链接保留单元格格式

时间:2015-12-04 23:52:52

标签: excel vba excel-vba hyperlink

我在工作表中有一些包含插入超链接的单元格。我想删除超链接并在单元格中保留“友好名称”。我可以这样做:

Sub dural()
   Dim h As Hyperlink

   For Each h In ActiveSheet.Hyperlinks
      h.Delete
   Next h
End Sub

这个小小的子作品。但是,如果我开始:

enter image description here

并运行宏,我得到:

enter image description here

细胞的格式已被破坏!反正有没有删除超链接并单独保留格式?

修改#1:

检查超链接属性,我得到了这个工作:

Sub dural2()
   Dim h As Hyperlink, addy As String, z As String

   For Each h In ActiveSheet.Hyperlinks
     addy = h.Range.Address
     z = h.Parent
     Range(addy).ClearContents
     Range(addy).Value = z
   Next h
End Sub

1 个答案:

答案 0 :(得分:2)

Hyperlink对象具有某些属性,通过我建立的试验和错误,对于同一工作表上另一个单元格的简单超链接:

  • h.Address =""
  • h.Range =" CNN" (实际上返回一个Range但是作为默认属性是.Value它评估为" CNN")
  • h.SubAddress =" Sheet1!C1"

As .SubAddress包含:

  

与超链接相关联的文档中的位置

我将您的代码更改为:

Sub dural()
   Dim h As Hyperlink

   For Each h In ActiveSheet.Hyperlinks
      h.SubAddress = ""
   Next h
End Sub

发现超链接不再有效,但保留了单元格格式。