当我单击超链接时,如何停止 Excel 跟踪超链接?

当我单击超链接时,如何停止 Excel 跟踪超链接?

在 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

我发现你可以点击单元格并按住鼠标按钮约一秒钟。之后光标会变成通常的十字形,如下所示:

鼠标按下一秒后的常规光标

这在 Excel 2007、2010、2013 和 2016 中有效。如果它在 2003 或 Office 365 中有效,请更新我的答案。=)

答案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

相关内容