MS Excel. Как "вытащить" гиперссылки из ячеек

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:| :) :wink: :D :lol: :( :cry: 8) :o :oops: :? :x :P :evil: :twisted: :roll: :!: :?: :idea: :arrow: :mrgreen:
Ещё смайлики…

Markdown is OFF

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: MS Excel. Как "вытащить" гиперссылки из ячеек

MS Excel. Как "вытащить" гиперссылки из ячеек

UncleFather » 02 окт 2012 09:10, Вт

Задача:

В книге MS Excel имеется столбец (или просто разбросанные ячейки), значением ячеек которого являются гиперссылки. На экране мы видим лишь связанный с гиперссылкой текст и, только если навести курсор на конкретную гиперссылку, можно увидеть, собственно, сам адрес (url) куда эта гиперссылка ведет:

01.JPG

Необходимо в соседний столбец вывести сами адреса (url) гиперссылок.
На удивление, в самом Microsoft Excel нет такой встроенной функции. Обратная (та, которая формирует гиперссылки) есть - "Гиперссылка":

02.JPG
02.JPG (30.9 КБ) 15954 просмотра

а вот так, чтобы из гиперссылки вытянуть 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 гиперссылки в ячейку справа от самой гиперссылки:

03.JPG

Вернуться к началу