2012-05-14 181 views

回答

1

我找不出如何防止格式化得到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 

告诉我这样做的更好的方法,我会接受你的回答作为答案。

2

我知道这有点奇怪......不知道这是否可以接受你。试试这个:

Selection.Hyperlinks(1).Address = "" 

这几乎就像没有超链接一样。唯一的区别是你的光标变成手而不是默认的加号,但你仍然可以像其他单元一样点击它。

+0

本,我会玩弄这个看看它是否会为我工作。谢谢! –

+0

不客气!希望可以帮助你。让我知道你是否也想到了。这是一个有趣的问题。 –

+0

在这种情况下,我实际上需要删除超链接。我喜欢你的想法,并将它添加到我的一揽子技巧。再次感谢。 –

1
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 
0
Dim temp As Variant 
temp = (RangeObject).Interior.Color 
(RangeObject).Hyperlinks.Delete 
(RangeObject).Interior.Color = temp 
2

上述解决方案产生问题。 这个工程角落找寻这个问题

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 
0

您也可以申请超链接的形状是透明的,覆盖在你的愿望的超链接的单元格。

这里的缺点是光标在未链接时会随着鼠标悬停而改变。形状可以由最终用户移动并删除。

0
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 

这也有助于当你不想要粘贴信息从另一个位置复制到/。没有在合并的单元格上试过这个,但我想这应该起作用。

相关问题