从单元格 VBA excel 获取显式工作表超链接

Jor*_*n_b 3 excel vba

我正在寻找一种方法来提取具有指向同一工作簿中另一个工作表的超链接的 excel 单元格的超链接。有没有办法做到这一点?例如:

Cell A1: "HPI" (with hyperlink to Sheet HPI)
result -> Cell B1: HPI
Run Code Online (Sandbox Code Playgroud)

我找到了这个公式,但它不能参考另一张纸。

Function GetURL(cell As range, Optional default_value As Variant)
'Lists the Hyperlink Address for a Given Cell
'If cell does not contain a hyperlink, return default_value
 If (cell.range("A1").Hyperlinks.Count <> 1) Then
      GetURL = default_value
Else
      GetURL = cell.range("A1").Hyperlinks(1).Address
End If
End Function
Run Code Online (Sandbox Code Playgroud)

Chr*_*dal 5

超链接中的文档使用.Subaddress财产,而不是.Address财产:

Function GetDestination(Target As Range, Optional default_value As Variant) AS Variant
'Lists the Hyperlink Address or Subaddress for a Given Cell
'If cell does not contain a hyperlink, return default_value
    If (Target.Cells(1, 1).Hyperlinks.Count <> 1) Then
        GetDestination = default_value
    Else
        With Target.Cells(1, 1).Hyperlinks(1)
            If Len(.Address)>0 Then
                GetDestination = .Address
            Else
                GetDestination = .SubAddress
            End If
        End With
    End If
End Function
Run Code Online (Sandbox Code Playgroud)