Извлечение URL-адресов из гиперссылок (Microsoft Excel)
Мезга имеет ряд ячеек, содержащих гиперссылки. Эти гиперссылки состоят из таких слов, как «щелкните здесь» или «дополнительная информация». Другими словами, каждая гиперссылка содержит отображаемый текст, отличный от базового URL-адреса, который активируется при нажатии на ссылку. Mezga интересуется, есть ли способ без использования макроса извлечь базовый URL-адрес для каждой из этих гиперссылок и поместить этот URL-адрес в другую ячейку.
Без использования макросов вы можете сделать это:
-
Щелкните гиперссылку правой кнопкой мыши. Вы увидите появившееся контекстное меню.
-
В контекстном меню выберите «Изменить гиперссылку». Excel отображает диалоговое окно «Изменить гиперссылку». (См. Рис. 1.)
-
Выделите и скопируйте (Ctrl + C) весь URL-адрес из поля Address диалогового окна.
-
Нажмите Esc, чтобы закрыть диалоговое окно «Редактировать гиперссылку».
-
Вставьте URL-адрес в любую желаемую ячейку.
Обратите внимание, что это для одной гиперссылки. Если у вас есть целая куча гиперссылок на листе и вы хотите восстановить URL-адреса, вам нужно сделать это для каждой гиперссылки. Очевидно, это может очень быстро надоесть.
Лекарство от скуки, нравится им или нет, — это макрос. С помощью макроса получить доступ к базовому URL для гиперссылки — это детская игра. Все, что нужно сделать макросу, — это обратить внимание на свойство Address гиперссылки.
Ниже приведен пример макроса, который будет находить каждую гиперссылку на листе, извлекать каждый URL-адрес и вставлять этот URL-адрес в ячейку непосредственно справа от гиперссылки.
Sub ExtractHL() Dim HL As Hyperlink For Each HL In ActiveSheet.Hyperlinks HL.Range.Offset(0, 1).Value = HL.Address Next End Sub
Вместо макроса «грубой силы» вы также можете создать определяемую пользователем функцию, которая будет извлекать и возвращать URL-адрес любой гиперссылки, на которую она была указана:
Function GetURL(rng As Range) As String On Error Resume Next GetURL = rng.Hyperlinks(1).Address End Function
В этом случае вы можете разместить его там, где хотите. Если вы хотите, например, чтобы URL-адрес гиперссылки в A1 был указан в ячейке C25, то в ячейку C25 вы должны ввести следующую формулу:
=GetURL(A1)
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9815) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Extracting_URLs_from_Hyperlinks [Извлечение URL-адресов из гиперссылок]
.