backtotop
Ссылка отдельно 6

Мы уже писали о том, что такое гиперссылка и как ее создать, в этой статье. Но бывает нужно получить саму ссылку, из ячейки с гиперссылкой в Excel. Если таких ячеек очень много, даже больше 20, мне кажется, не стоит пытаться получить ссылку из ячейки вручную. Проще воспользоваться небольшим макросом. Приведу варианты решения такой задачи, все не так сложно:

Бывает, что вы скопировали адреса сайтов из списка в интернете, в большинстве случаев, при таком копировании наименование адреса неравно самому адресу:

получить ссылку из ячейки

Разберемся как вытащить гиперссылку из такой ячейки

Как вывести адрес ссылки для одной ячейки?

Это несложно. Необходимо правой кнопкой мыши нажать на ячейку и выбрать Изменить гиперссылку.

Ссылка отдельно 2

В открывшемся окне вы можете скопировать ссылку из графы Адрес:

Ссылка отдельно 4

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

Если при нажатии на ячейку правой кнопкой мыши в появившемся окне нет кнопок Изменить гиперссылку, Открыть гиперссылку и т.д. Проверьте ту ли ячейку вы выбираете. Если ту, то в такой ячейке нет гиперссылки или она задана неверно.

Как получить ссылку из ячейки с гиперссылкой в Excel

На днях у меня возникла задача, было нужно вытащить ссылки более чем из 10 тыс ячеек. Не делать же такое вручную. Я сначала поискал решение в интернете и нашел отличное вариант. Публикую для своих читателей решение с прекрасного сайта. Для применения способа запишите текст, приведенный ниже в окно модуля VBA (Ctrl+F11). Если не знаете о чем я веду речь, советую прочитать статью про макросы.

Текст создаваемой функции будет следующий:

Function Получить_Ссылку(ByVal rCell As Range) As String
    Dim s As String
    If rCell.Hyperlinks.Count = 0 Then
        If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then
           Получить_Ссылку= Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13)
        Else
           Получить_Ссылку = "В ячейке нет гиперссылки!"
        End If
    Else
        s = rCell.Hyperlinks(1).SubAddress
        If s <> "" Then s = "#" & rCell.Hyperlinks(1).SubAddress
        Получить_Ссылку= rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & s
    End If
End Function

Теперь если начать записывать формулу у вас будет появляться и эта функция тоже.

Ссылка отдельно 5

Конечно, она будет доступна и в меню функций.

Введите адрес ячейки как аргумент этой функции и протяните формулу на нужное количество ячеек. Все!

Ссылка отдельно 6

Удобно, еще раз спасибо Excel-vba.ru за отличный сайт.

 

Поделитесь нашей статьей в ваших соцсетях:


Комментарии:

К этой записи пока нет комментариев. Возможно вы будете первым?

Оставьте ваш комментарий здесь:

You have to agree to the comment policy.

один × 2 =