【问题标题】:Excel VBA for linking Hyperlink formula in a cell to a MacroExcel VBA 用于将单元格中的超链接公式链接到宏
【发布时间】:2020-09-19 15:52:03
【问题描述】:

我在 B 列中有很长的超链接公式列表。下面是单元格内的公式示例。我想要实现的是当我单击整个 B 列的任何行中的超链接时,它还将运行一个单独的单个 VBA 宏。

=HYPERLINK("#SHEET1!D"&ROW(D2066),D2066)

谢谢。

【问题讨论】:

    标签: excel


    【解决方案1】:

    有一个Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 事件,但我认为它不适用于超链接公式。在这种情况下,selection_change 事件可能会起作用。

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
        If Target.Column = 2 Then
            If Left(Target.Formula, 10) = "=HYPERLINK" Then
                MsgBox "My Code here"
            End If
        End If
    End Sub
    

    这将进入工作表模块。


    【讨论】:

    • 感谢 Dave 的快速回复,非常感谢,因为我真的需要这方面的帮助。实际上我的 vba 宏只是一行如下:
    • Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = 2 Then If Left(Target.Formula, 10) = "=HYPERLINK" Then ActiveWindow. ScrollRow = ActiveCell.Row End If End If End Sub
    • 对不起,这是我在这里的第一篇文章,每当我点击进入时,我的评论已经在论坛中发布了。我发布的上述代码也不起作用 Dave。
    • 我让它工作了,非常感谢。它是指向另一个工作表的超链接列表。我在同一个工作簿的两个窗口上使用它。当我单击超链接时,它会将我带到引用的单元格,然后代码继续将活动单元格滚动到顶部。我在 2 台显示器上执行此操作,其中同一工作簿的两张表都打开。我的后续问题是,当我单击超链接时,焦点变成了另一张纸。我想仍然专注于带有超链接的工作表。谢谢。
    • 戴夫,别担心,我只需要你的 selectionchange 初始代码。再次非常感谢您。
    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 2016-06-21
    • 2016-05-21
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    相关资源
    最近更新 更多