MS Excel. Как "вытащить" гиперссылки из ячеек
Задача:
В книге MS Excel имеется столбец (или просто разбросанные ячейки), значением ячеек которого являются гиперссылки. На экране мы видим лишь связанный с гиперссылкой текст и, только если навести курсор на конкретную гиперссылку, можно увидеть, собственно, сам адрес (url) куда эта гиперссылка ведет:
Необходимо в соседний столбец вывести сами адреса (url) гиперссылок.
На удивление, в самом Microsoft Excel нет такой встроенной функции. Обратная (та, которая формирует гиперссылки) есть - "Гиперссылка":
а вот так, чтобы из гиперссылки вытянуть url - такой функции нет.
Решение:
Поскольку встроенной функции не имеется, то воспользуемся макросами Visual Basic for Applications (VBA).
Создаем новый макрос:
Код: Выделить всё
With ActiveSheet
For I = 1 To .Hyperlinks.Count
.Hyperlinks(I).Range.Offset(0,1).Value = .Hyperlinks(I).Address
Next I
End With
Этот макрос просматривает весь активный лист на предмет наличия гиперссылок и вставляет url гиперссылки в ячейку справа от самой гиперссылки: