首页 > 解决方案 > 使用 Workbook.FollowHyperlink() 时返回对带有链接的单元格的引用?

问题描述

我在单元格中创建了一个链接。链接指向任何地方(例如同一文档中的“A1”),因为我想在事件处理程序中做重要的事情

Workbook.FollowHyperlink()

对于我的 puporses,在 FollowHyperlink() 中我需要单元格中的链接名称,因此我需要对单元格的反向引用。

有谁知道怎么做?超链接的父对象是“范围”类型,我想我没有关于我的单元格的信息。

标签: excelvba

解决方案


您可以使用ORHyperlink.Parent.Value 属性Hyperlink.TextToDisplay

考虑这个示例,其中"ABC"写入单元格 A1 并且超链接设置到单元格 B3。当您单击链接时,它会选择链接目标-B3,但Worksheet_FollowHyperlink()事件会将信息打印到即时窗口

在本例中,Parent是一个范围对象(下例中的单元格 A1),它是超链接的父级。

样本数据,上面解释过

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Debug.Print "Parent Value: " & Target.Parent.Value
    Debug.Print "Parent Absolute Address: " & Target.Parent.Address
    Debug.Print "Parent Relative Address: " & Target.Parent.Address(False, False)
    Debug.Print "Text to display: " & Target.TextToDisplay
End Sub

单击 A1 中的链接时,它将以下内容输出到即时窗口:

Parent Value: ABC
Parent Absolute Address: $A$1
Parent Relative Address: A1
Text to display: ABC

推荐阅读