在 Word 中,当我极少数想要跟踪链接而不是进行 Word 实际进行的编辑时,我可以使用 Ctrl + Click。
有没有办法在 Excel 2010、2003、2013 中获得类似的行为?
每当我尝试选择带有超链接的单元格时,我都会意外切换到 IE 或 Outlook,这让我很厌烦。
我之前在 SuperUser 和通过流行搜索引擎进行的研究结果并不十分有成果(例如http://blogs.office.com/b/microsoft-excel/archive/2011/04/12/hyperlinks-in-excel-hot-or-not.aspx) 我对如何单击并按住以选择单元格,或运行 VBscript 或宏以从工作簿中删除所有超链接不感兴趣。我想要符合我期望的非浏览器应用程序的 UI 并适用于其他人创建的文档的东西。
答案1
在 Excel 2013 中,单击空白将选择单元格而不跟随 URL,但您必须注意。如果鼠标悬停时图标变为手形图标,它将跟随 URL。如果图标变为大白色十字,它将选择单元格而不跟随 URL。更改行高或列宽可以帮助增加空白量。
不过,我希望微软能够考虑让 URL 点击在 Excel 2013 中和在 Word 2013 中的行为相同,因为这很烦人。
“没有万无一失的系统。明天会有人犯更愚蠢的错误。”@LoneWolffe
答案2
答案3
我发现(至少在 Mac 版 Excel 2010 上)您可以右键单击然后左键单击单元格。这样,单元格将被选中,但不会跟随链接。它变成了一个单一的动作,不会太烦人。
答案4
我如何做到这一点:使用第二部分中的 URL 设置超链接:
=HYPERLINK("","http://example.com")
在 VBA 编辑器中创建一个模块:
Declare Function GetKeyState Lib "User32" (ByVal vKey As Integer) As Integer
Global Const CTRL_KEY = 17
然后是工作表代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Error1
If Left(Target.Formula, 10) = "=HYPERLINK" Then
If GetKeyState(CTRL_KEY) < 0 Then 'Check if CTRL is held in
Application.EnableEvents = False
ThisWorkbook.FollowHyperlink Mid(Target.Formula, 16, Len(Target.Formula) - 17)
Application.EnableEvents = True
End If
End If
Exit Sub
Error1:
Application.EnableEvents = True
End Sub
要使其工作,请单击单元格,然后按 CTRL+单击单元格以访问链接。您可以执行其他操作,例如在 HYPERLINK 的第二部分中输入文本,然后在代码中使用 SELECT CASE,根据文本打开 URL。还有其他按键可用:
Global Const SHIFT_KEY = 16
Global Const ALT_KEY = 18
http://msdn.microsoft.com/en-us/library/aa243025(v=vs.60).aspx