VBA检索超链接目标表?

标签 vba excel hyperlink excel-2013

我正在尝试从单元格中的超链接检索工作表引用位置

以下内容似乎不起作用,因为 test 没有返回任何内容,即使 G8 指向单元格中的工作表:KO A19

test = Range("G8").Hyperlinks(3).Address

现在如果我运行以下命令:

For Each hl In Sheets("LIST").Hyperlinks
    MsgBox "Range " & hl.Range.Address & " addr " & _
            hl.Address & " text " & hl.TextToDisplay
Next hl

它循环并找到正确的地址,但我似乎无法弄清楚如何检测它指向的工作表。此外,循环有点困惑,因为在这种情况下,一旦找到第一个也是唯一的超链接,它就会出错。而且它并不总是专门针对 G8 的。我想我可以只扔一个 if 语句并提前退出 for 循环。

无论如何,我在 stackoverflow、google、microsoft 的“超链接”文档中都找不到获取工作表名称的方法。

请参阅下面的示例图: sample pic

最佳答案

SubAddress 是您想要的:

Sub Test()

    Dim hl As Hyperlink, r As Range

    Set hl = ActiveSheet.Hyperlinks(1)

    Set r = Application.Evaluate(hl.SubAddress)

    Debug.Print "Sheet: '" & r.Parent.Name & "'", "Range:" & r.Address()

End Sub

关于VBA检索超链接目标表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28574065/

相关文章:

java - HTML - 如何链接 .JAR 文件

android - 隐藏 SpannableString 网址

Excel VBA - 循环记录集

unit-testing - MS Access 中的单元测试

c# - Excel 自动化 : Protect single worksheet from deletion by user

vba - 如何在 Excel 中查找单元格的所有依赖项(还有条件格式和数据验证)

html - :active link when index page loads

Excel函数将所有实际成本加上没有计算列的空白行的估计值相加

excel - 带有 $ 的内置字符串函数

excel - 从 Jenkins 运行 Excel 宏