Получить явную гиперссылку листа из ячейки VBA Excel - PullRequest
3 голосов
/ 22 января 2020

Я ищу способ извлечь гиперссылку ячейки Excel с гиперссылкой на другой лист в той же книге. Есть ли способ сделать это? Например:

Cell A1: "HPI" (with hyperlink to Sheet HPI)
result -> Cell B1: HPI

Я нашел эту формулу, но она не работает со ссылкой на другой лист.

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

1 Ответ

4 голосов
/ 22 января 2020

Гиперссылка в документ использует свойство .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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...