Excel показать адрес гиперссылки

Миндубаев Рамазан
Рубрика:
Поисковая оптимизация (SEO)

Часто для того, чтобы быстро выдрать структуру сайта, URL, мета-теги и т.д. встает задачу как это сделать быстро. Одно из решений сделать с помощью Excel.

Задача:
В Экселе имеется столбец в значениях ячеек есть строки с гиперссылками. Excel показывать только текстовое описание, саму гиперссылку видно, только при наведение курсора мыши, либо по щелчку правой кнопкой и нажатии «Гиперссылка».

microsoft-excel-dekompoziciya-2016-10-13-14-07-27

Решение:

Необходимо в соседний столбец вывести URL  гиперссылок.
В Microsoft Excel нет такой встроенной функции, либо я её не нашел =(

Поскольку встроенной функции не имеется, то можно использовать макрос Visual Basic for Applications (VBA).

Создаем макрос (название можно задать только в 1 слово)

makros-2016-10-13-14-12-18

Вставляем код, чтобы получилось вот так

microsoft-visual-basic-for-applications-dekompoziciya-xlsx-2016-10-13-14-23-52

Сам код

With ActiveSheet
For I = 1 To .Hyperlinks.Count
.Hyperlinks (I).Range.Offset (0,1).Value = .Hyperlinks (I).Address
Next I
End With

закрываем  Visual Basic for Applications (VBA)

После выделяем все ячейки и жмем «Выполнить»

makros-2016-10-13-14-26-06

На выходе получаем в соседнем столбце все URL

microsoft-excel-dekompoziciya-2016-10-13-14-27-37

Пользуйтесь.

@tachyglossus 

Extract actual addresses from hyperlinks with VBA code

Press on the heading to get more possibilities and options.

Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

  Click Insert> Module and paste the following code into the module window.

Sub Extracthyperlinks ()

‘Updateby Extendoffice

Dim Rng As Range

Dim WorkRng As Range

On Error Resume Next

xTitleId = «KutoolsforExcel»

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox («Range», xTitleId, WorkRng.Address, Type: =

For Each Rng In WorkRng

     If Rng.Hyperlinks.Count> 0 Then

         Rng.Value = Rng.Hyperlinks.Item (1) .Address

     End If

Next

End Sub

Then press F5 when you press the key to run the code, it will bring up a dialog box for you to choose the hyperlinks that you want to extract the actual addresses from.

Then click OK and the selected cell contents will be converted to the real hyperlink addresses in the original range.

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

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

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

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

Содержание

  • Как вывести адрес ссылки для одной ячейки?
  • Как получить ссылку из ячейки с гиперссылкой в Excel
  • Похожие статьи

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

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

Ссылка отдельно 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 за отличный сайт.

Хитрости »

9 Ноябрь 2012              105462 просмотров


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

Функция, приведенная ниже позволяет извлечь из ячейки, в которой записана гиперссылка, адрес этой гиперссылки. Гиперссылка может быть как записана с помощью функции ГИПЕРССЫЛКА, так и созданная через контекстное меню. Подробнее про гиперссылки можно прочитать в этой статье: Что такое гиперссылка?

Function Get_Hyperlink_Address(ByVal rCell As Range) As String
    Dim s As String
    If rCell.Hyperlinks.Count = 0 Then
        s = rCell.Formula
        If Mid$(s, 2, 9) = "HYPERLINK" Then
            'такой подход сработает только в случае, если в ячейке записана ссылка текстом
            'но не сработает, если гиперссылка создана из ссылок на ячейки
            '   Get_Hyperlink_Address = Mid$(s, 13, InStr(13, s, Chr(34)) - 13)
            'поэтому используем более сложный, но универсальный вариант
            If s Like "=HYPERLINK*" Then
                'получаем данные первого аргумента и убираем знак =
                s = Split(s, ",")(0)
                s = Mid$(s, 2, Len(s) - 1)
                'на всякий случай добавляем скобку в конец формулы
                'хоть Evaluate должен сработать и без неё
                If Right$(s, 1) <> ")" Then
                    s = s & ")"
                End If
                Get_Hyperlink_Address = Evaluate(s)
            End If
        Else
            Get_Hyperlink_Address = ""
        End If
    Else
        s = rCell.Hyperlinks(1).SubAddress
        If s <> "" Then s = "#" & rCell.Hyperlinks(1).SubAddress
        Get_Hyperlink_Address = rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & s
    End If
End Function

Если впервые сталкиваетесь с подобными функциями настоятельно рекомендую прочитать про то, что это за функции: Что такое функция пользователя(UDF)?.
Доступна функция будет из Мастера функций, категория Определенные пользователем (User Defined). Либо можно напрямую записать в ячейку:=Get_Hyperlink_Address(B1)

Скачать пример

  АдресГиперссылки.xls (66,5 KiB, 12 659 скачиваний)


Решил дополнить статью примером функции, которая позволяет вытащить из ячейки с гиперссылкой подсказку:
Подсказка для гиперссылки

Function Get_Hyperlink_Title(ByVal rCell As Range) As String
    Dim s As String
    If rCell.Hyperlinks.Count = 0 Then
        If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then
            Get_Hyperlink_Title = rCell.Text
        Else
            Get_Hyperlink_Title = ""
        End If
    Else
        Get_Hyperlink_Title = rCell.Hyperlinks(1).ScreenTip
    End If
End Function

Так же см.:
Что такое функция пользователя(UDF)?
Что такое гиперссылка?
Текст в гиперссылки
Как массово изменить гиперссылки?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Предположим, у вас есть диапазон ячеек, которые содержат гиперссылки, и теперь вам нужно увидеть реальное назначение гиперссылок и извлечь их из гиперссылок, как показано на следующем снимке экрана. Есть ли простые способы быстро решить эту проблему? Эта статья поможет вам извлечь фактические адреса из нескольких гиперссылок.


стрелка синий правый пузырь Извлекайте фактические адреса из гиперссылок с помощью функции редактирования гиперссылки

Здесь Изменить гиперссылку может помочь вам извлечь базовый URL-адрес для каждой из этих гиперссылок и поместить этот фактический адрес в другую ячейку. Вы можете сделать так:

1. Выберите ячейку с помощью гиперссылки и щелкните правой кнопкой мыши, в контекстном меню выберите Изменить гиперссылку, см. снимок экрана:

2, И Изменить гиперссылку появится диалоговое окно, выберите и скопируйте (Ctrl + C) весь URL из Адрес поле диалогового окна.

3. Затем закройте диалоговое окно и вставьте фактический адрес в любую ячейку, которую хотите.

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


стрелка синий правый пузырь Извлекайте фактические адреса из гиперссылок с кодом VBA

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

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.

Sub Extracthyperlinks()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    If Rng.Hyperlinks.Count > 0 Then
        Rng.Value = Rng.Hyperlinks.Item(1).Address
    End If
Next
End Sub

3, Затем нажмите F5 нажмите клавишу для запуска кода, и появится диалоговое окно для выбора гиперссылок, по которым вы хотите извлечь реальные адреса, см. снимок экрана:

4. Затем нажмите OK, и содержимое выбранной ячейки было преобразовано в реальные адреса гиперссылок в исходном диапазоне. Смотрите скриншоты:


стрелка синий правый пузырь Извлекайте фактические адреса из гиперссылок с помощью функции определения пользователя

Следующая функция, определяемая пользователем, также может извлекать фактический URl из гиперссылок.

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Function GetURL(pWorkRng As Range) As String
'Updateby Extendoffice
    GetURL = pWorkRng.Hyperlinks(1).Address
End Function

3. Сохраните код и закройте окно, выберите пустую ячейку, чтобы ввести эту формулу = GetURL (A2) (A2 это ячейка, в которой находится гиперссылка), и нажмите Enter кнопка. Вы можете видеть, что реальный адрес гиперссылки извлечен.


стрелка синий правый пузырь Извлеките фактические адреса из гиперссылок с помощью Kutools for Excel быстро и легко

Вот удобный инструмент под названием Kutools for Excel, С его Конвертировать гиперссылки функция, вы можете быстро справиться со следующими операциями:

  • Извлекать актуальные адреса из гиперссылок;
  • Преобразование текста URL в интерактивные гиперссылки.

Если вы установили Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите диапазон, содержащий гиперссылки, которые необходимо извлечь.

2. Нажмите Кутулс > Ссылка > Конвертировать гиперссылки, см. снимок экрана:

3. В Конвертировать гиперссылки диалоговое окно, выберите Адреса гиперссылок заменяют содержимое ячейки и нажмите док-кнопка1 кнопка из Диапазон результатов указать ячейку, в которую будет помещен результат.

4, Затем нажмите OK, фактические адреса были извлечены из гиперссылок. Смотрите скриншот:

Внимание: Если вы хотите поместить фактические адреса в исходный диапазон, проверьте Преобразовать исходный диапазон.

Нажмите Конвертировать гиперссылки чтобы узнать больше об этой функции.

Скачать и бесплатную пробную версию Kutools for Excel Сейчас !


стрелка синий правый пузырь Демонстрация: извлечение фактических адресов из гиперссылок с помощью Kutools for Excel


Связанная статья:

Как преобразовать текст URL в гиперссылку в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:
  • Excel поиск числа в диапазоне ячеек
  • Excel показана не вся таблица
  • Excel поиск ячейки справа
  • Excel показ формул в ячейках
  • Excel поиск числа в диапазоне чисел