从单元中删除超链接也会删除格式。如何在使用Excel VBA删除超链接时保留单元格格式?
Selection.Hyperlinks.Delete
有没有办法保存格式,或是否需要去除的超级链接后重新申请吗?
从单元中删除超链接也会删除格式。如何在使用Excel VBA删除超链接时保留单元格格式?
Selection.Hyperlinks.Delete
有没有办法保存格式,或是否需要去除的超级链接后重新申请吗?
我找到的解决方法是调用
Range.ClearHyperlinks
代替
Range.Hyperlinks.Delete
前清除超链接和叶格式不变。这里引用:https://msdn.microsoft.com/en-us/library/office/ff194741.aspx
我找不出如何防止格式化得到zapped。我想出了一个解决方法是删除该超链接,然后粘贴格式返回给细胞之前,将细胞复制之后我删除了超链接:
' copy cell to remote location to "remember" formatting
ActiveCell.Copy Sheets("Templates").Range("a1")
' remove hyperlink
ActiveCell.Hyperlinks.Delete
' reapply formatting
Sheets("Templates").Range("A1").Copy
ActiveCell.PasteSpecial Paste:=xlPasteFormats
告诉我这样做的更好的方法,我会接受你的回答作为答案。
我知道这有点奇怪......不知道这是否可以接受你。试试这个:
Selection.Hyperlinks(1).Address = ""
这几乎就像没有超链接一样。唯一的区别是你的光标变成手而不是默认的加号,但你仍然可以像其他单元一样点击它。
本,我会玩弄这个看看它是否会为我工作。谢谢! –
不客气!希望可以帮助你。让我知道你是否也想到了。这是一个有趣的问题。 –
在这种情况下,我实际上需要删除超链接。我喜欢你的想法,并将它添加到我的一揽子技巧。再次感谢。 –
ActiveCell.Style = "Normal"
换句话说: 您可以重新应用应该在那里的样式。而“正常”可以用Excell中任何一种cellstyle的名称进行更改。如果您希望以这种方式应用自己的样式,请将其添加到单元格列表中。
如果你想更进一步。你可以把cellstyle放在那里,用一个字符串捕捉它并重新应用。如果你有合并单元格工作
Dim sStyleName as String
sStyleName = ActiveCell.Style 'Capture the current cellstyle
ActiveCell.Hyperlinks.Delete 'Remove the hyperlink
ActiveCell.Style = sStylename 'Reapply the cellstyle used before
Dim temp As Variant
temp = (RangeObject).Interior.Color
(RangeObject).Hyperlinks.Delete
(RangeObject).Interior.Color = temp
上述解决方案产生问题。 这个工程角落找寻这个问题
data = Selection.value
Selection.Value = "" 'this removes the hyperlink
Selection.Font.Underline = xlUnderlineStyleNone 'remove the hyperlink underlining
With ActiveCell.Font 'replace hyperlink blue with black
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
Selection.Value = data
您也可以申请超链接的形状是透明的,覆盖在你的愿望的超链接的单元格。
这里的缺点是光标在未链接时会随着鼠标悬停而改变。形状可以由最终用户移动并删除。
For Each cll In Selection
cll_val = cll.Value
cll.ClearContents
cll.Value = cll_val
With cll.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.Underline = xlUnderlineStyleNone
End With
Next
这也有助于当你不想要粘贴信息从另一个位置复制到/。没有在合并的单元格上试过这个,但我想这应该起作用。
不错!当我第一次发布这个问题时,我不认为这是可用的。 –