Поэтому, ссылаясь на предыдущий вопрос, который я задавал об отображении текста и его гиперссылки, ссылаясь на него в другой ячейке, я обнаружил, что кто-то написал эту макрокоманду для excel для получения URL-адреса:

Public Function GetURL(c As Range) As String
    On Error Resume Next
    GetURL = c.Hyperlinks(1).Address
End Function

Это в основном позволяет мне использовать =getURL(A1) для получения URL-адреса текста в ячейке A1, даже если эта ячейка содержит текст с присоединенной гиперссылкой (потому что команда =HYPERLINK возвращает сам текст и пытается создать URL-адрес этого, который, конечно, не будет работать).

Мой вопрос, как я могу на самом деле использовать это?
Я попытался ввести следующие функции:
=HYPERLINK(=getURL(general!M5), Test)
=HYPERLINK(=getURL(general!M5), [Test])

Поэтому я хотел получить URL из ячейки M5 в "общем" листе и использовать его в качестве гиперссылки для текста "test".

Кажется, это не работает, и я не могу понять, почему. Когда я ввожу эти команды, я получаю сообщение об ошибке, что функция содержит ошибку. Иногда мне удается избежать сообщения об ошибке, играя с типом ячейки между общим и текстовым, но даже когда нет сообщения об ошибке, оно не отображает то, что я хотел, а просто отображает саму функцию.

Есть идеи?

Вот как выглядит Макрос.

1 ответ1

1

Нет необходимости использовать = в формуле гиперссылки

=HYPERLINK(getURL(C1),B1)

Берет адрес из С1 и текст из В1.

Таким же образом, используя другие листы в качестве ссылок

=HYPERLINK(getURL(Sheet3!C1),Sheet3!B1)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .