VBA检索超链接目标表?

Ryf*_*lex 2 excel vba hyperlink excel-2013

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

以下似乎不起作用,因为test不返回任何内容,即使G8指向 Sheet: KO in CellA19

test = Range("G8").Hyperlinks(3).Address
Run Code Online (Sandbox Code Playgroud)

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

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

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

无论如何,我在stackoverflow、谷歌、微软的“超链接”文档中找不到任何获取工作表名称的方法。

请参阅下面的示例图: 样品图片

Tim*_*ams 6

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
Run Code Online (Sandbox Code Playgroud)