@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.
Предположим, у вас есть диапазон ячеек, которые содержат гиперссылки, и теперь вам нужно увидеть реальное назначение гиперссылок и извлечь их из гиперссылок, как показано на следующем снимке экрана. Есть ли простые способы быстро решить эту проблему? Эта статья поможет вам извлечь фактические адреса из нескольких гиперссылок.
Извлекайте фактические адреса из гиперссылок с помощью функции редактирования гиперссылки
Здесь Изменить гиперссылку может помочь вам извлечь базовый 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. В Конвертировать гиперссылки диалоговое окно, выберите Адреса гиперссылок заменяют содержимое ячейки и нажмите кнопка из Диапазон результатов указать ячейку, в которую будет помещен результат.
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-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
С гиперлинками (hyperlinks) в Excel немного парадоксальная ситуация. Оформить ячейку или даже часть текста в ячейке(!) в виде линка очень просто, под это отведена отдельная формула. Но готового инструмента для обратного процесса нет!
Как создать гиперссылку
=ГИПЕРССЫЛКА(адрес; [имя])
В английской версии:
=HYPERLINK(link_location, [friendly_name])
Оба параметра гиперссылки могут задаваться как текстом так и быть ссылками на другие ячейки. Формула легко растягивается, обратить обычную url запись во что-нибудь более кликбейтное не представляет никакой сложности. Например:
Как получить гиперссылку
При копировании таблицы например из html в Excel вы получаете примерно такую проблему: как вытащить в соседнюю колонку B ссылку, которая явно есть в колонке А?
Нормальных решений 3 (даже где-то 3,5). Во-первых, можно все сделать «руками». Правой кнопкой мышки на тексте в ячейке, выбираем Изменить гиперссылку, затем копируем (или изменяем/удаляем) ссылку в строке Адрес. Если ссылок 2-3, норм. А если 1000?
Второй способ. Пишем новую функцию с помощью макроса, решение, предлагаемое много где в сети, в частности, здесь:
- Нажимаем Alt+F11 (вызов VBA)
- Выбираем Insert – Module
- Копируем в новый модуль следующий код:
Function GetURL(cell As range, Optional default_value As Variant)
‘Lists the Hyperlink Address for a Given Cell
‘If cell does not contain a hyperlink, return default_value
If (cell.range(«A1»).Hyperlinks.Count <> 1) Then
GetURL = default_value
Else
GetURL = cell.range(«A1»).Hyperlinks(1).Address
End If
End Function
- Нажимаем Alt+Q (закрываем VBA)
Теперь в ячейке набирая =GetURL(A2), получаем искомую ссылку.
Чуть упростим решение. Макрос выше проверяет, содержится ли ссылка в ячейке в принципе. Если такая ошибка вас не смущает, например, как у меня, у вас все строки в столбце содержат ссылки, то можно и сократить макрос до 1 строки.
Function GetURL(cell As Range) As String
GetURL = cell.Hyperlinks(1).Address
End Function
У вас может появится такая ошибка, если в проверяемом поле не все в порядке:
Наконец, третий способ: неужели никто до сих пор не озаботился об автоматизации подобных решений для Excel. Конечно, нет. Можно купить и поставить Kutools for Excel — надстройку для Excel, содержащую огромное количество доработок к стандартным возможностям Excel
После установки Kutools выбираем закладку Kuttols – Link – Convert Hyperlinks