Работа с гиперссылками в Microsoft Excel — задача, с которой сталкивается каждый второй пользователь.hether вы скачали чужой файл с десятками внешних ссылок, нужно проверить корректность URL перед презентацией, или просто хотите очистить документ от ненужных кликабельных элементов — без знания точных методов поиска можно потратить часы на рутинную работу. Проблема усложняется тем, что Excel не всегда очевидно показывает все ссылки в документе: некоторые скрыты в формулах, другие спрятаны под текстом или объектами.
В этой статье мы разберём 5 рабочих способов найти и просмотреть ссылки в Excel — от элементарных (подойдут новичкам) до продвинутых (для автоматизации через макросы). Вы узнаете, как вытащить все URL из книги на отдельный лист, как найти битые ссылки, и почему иногда Excel показывает гиперссылки, но не даёт по ним перейти. Все инструкции актуальны для Excel 2013–2023 и Microsoft 365, включая веб-версию.
1. Ручной поиск ссылок через интерфейс Excel
Самый простой способ — использовать встроенные инструменты программы. Он подходит, если в файле мало ссылок (до 20–30) и они не скрыты в ячейках с формулами.
Чтобы увидеть все гиперссылки на листе:
- 🔍 Нажмите
Ctrl + F, чтобы открыть окно Найти и заменить. - 📌 В поле "Найти" введите
http://илиhttps://(большинство ссылок начинаются с этих протоколов). - 🔄 Нажмите "Найти все" — Excel покажет список всех ячеек с URL.
- 📋 Чтобы перейти к конкретной ссылке, дважды кликните по результату в списке.
Ограничение метода: он не находит ссылки, вставленные через функцию ГИПЕРССЫЛКА() или скрытые под объектами (например, картинками). Также не отобразятся относительные пути (например, ../folder/file.xlsx).
2. Просмотр ссылок через панель "Вставка гиперссылки"
Если нужно не только найти, но и отредактировать ссылку, используйте панель управления гиперссылками:
- Выделите ячейку со ссылкой (или кликните по ней правой кнопкой).
- В контекстном меню выберите Ссылка (или Изменить ссылку).
- Откроется окно, где в поле Адрес будет отображён полный URL.
Этот способ удобен для проверки целевого адреса без перехода по ссылке — например, если вы боитесь фишинга или хотите убедиться, что URL ведёт на нужный ресурс. Однако он работает только для ячеек, где ссылка уже визуально видна (подчёркнутый синий текст).
⚠️ Внимание: Если при клике на ячейку пункт "Ссылка" в меню неактивен, значит гиперссылка создана через формулу ГИПЕРССЫЛКА(). В этом случае используйте метод из раздела 4.
3. Экспорт всех ссылок на отдельный лист (метод для больших файлов)
Когда в книге сотни ссылок, ручной поиск неэффективен. Автоматизируйте процесс с помощью Power Query (доступен в Excel 2016 и новее):
- 📊 Перейдите на вкладку Данные → Получить данные → Из других источников → Пустой запрос.
- 🔄 В открывшемся редакторе Power Query введите в строку формул:
= Excel.CurrentWorkbook(){[Name="Table1"]}[Content](замените
Table1на имя вашей таблицы или диапазона). - 🔍 Добавьте пользовательский столбец с формулой:
= if [YourColumn] contains "http" then [YourColumn] else null(где
YourColumn— имя столбца с данными). - 💾 Нажмите Закрыть и загрузить — все ссылки появятся на новом листе.
Альтернативный вариант для старых версий Excel — использовать надстройку "Анализ данных" (включается в Файл → Параметры → Надстройки). Она позволяет экспортировать ссылки в отдельный файл .csv.
Убедитесь, что все листы книги разблокированы|
Проверьте наличие скрытых столбцов/строк|
Сохраните резервную копию файла|
Отключите защиту листа (если есть)-->
4. Поиск ссылок, созданных через функцию ГИПЕРССЫЛКА()
Функция =ГИПЕРССЫЛКА(адрес; [имя_ячейки]) позволяет создавать кликабельные ссылки динамически. Такие URL не видны через стандартный поиск (Ctrl+F), но их можно вытащить с помощью формулы:
Создайте вспомогательный столбец и введите:
=ЕСЛИ(НЕ(ПОИСК("http";A1;1))=0;A1;"")
Эта формула проверит ячейку A1 на наличие текста "http" и выведет содержимое, если ссылка найдена. Растяните формулу на весь диапазон данных.
Для извлечения только адреса из функции ГИПЕРССЫЛКА() используйте:
=ПСТР(ФОРМУЛАТЕКСТ(A1);ПОИСК("""";ФОРМУЛАТЕКСТ(A1);1)+1;ПОИСК("""";ФОРМУЛАТЕКСТ(A1);ПОИСК("""";ФОРМУЛАТЕКСТ(A1);1)+1)-(ПОИСК("""";ФОРМУЛАТЕКСТ(A1);1)+1))
⚠️ Внимание: Формула ФОРМУЛАТЕКСТ() работает только в Excel 2013 и новее. Для старых версий используйте VBA-скрипт (см. раздел 5).
Почему Excel не показывает некоторые ссылки?
Ссылки могут быть скрыты по нескольким причинам:
1. Относительные пути: Excel не подсвечивает ссылки вида `../data/report.xlsx` как гиперссылки.
2. Формат ячейки: Если ячейка отформатирована как текст, URL не будет кликабельным.
3. Объекты: Ссылки могут быть прикреплены к фигурам, кнопкам или изображениям (см. раздел 6).
4. Битые ссылки: Excel иногда скрывает ссылки, ведущие на несуществующие ресурсы (проверяется через `Проверка ошибок` на вкладке `Формулы`).
5. Автоматизация поиска ссылок через VBA
Для пользователей, работающих с большими файлами (>10 000 строк), ручные методы не подходят. Решение — макрос на VBA, который соберёт все ссылки в отдельный лист:
Откройте редактор VBA (Alt + F11) и вставьте следующий код в модуль:
Sub ExtractAllHyperlinks()
Dim ws As Worksheet, newWs As Worksheet
Dim hl As Hyperlink, i As Long
Set newWs = Worksheets.Add
newWs.Name = "Ссылки"
newWs.Range("A1").Value = "Адрес"
newWs.Range("B1").Value = "Текст отображения"
newWs.Range("C1").Value = "Лист"
newWs.Range("D1").Value = "Ячейка"
i = 2
For Each ws In ThisWorkbook.Worksheets
For Each hl In ws.Hyperlinks
newWs.Cells(i, 1).Value = hl.Address
newWs.Cells(i, 2).Value = hl.TextToDisplay
newWs.Cells(i, 3).Value = ws.Name
newWs.Cells(i, 4).Value = hl.Range.Address
i = i + 1
Next hl
Next ws
newWs.Columns.AutoFit
End Sub
После запуска макроса (F5) на новом листе появится таблица со всеми гиперссылками книги, включая:
- 🔗 Полный адрес (
http://...илиfile:///...) - 📝 Текст, отображаемый в ячейке
- 📄 Имя листа, где находится ссылка
- 📍 Адрес ячейки (например,
$A$10)
Преимущество метода: работает со всеми типами ссылок, включая те, что скрыты под объектами или в формулах. Недостаток — требует разрешений на выполнение макросов.
6. Поиск ссылок, прикреплённых к объектам (фигурам, изображениям, кнопкам)
Excel позволяет прикреплять гиперссылки не только к ячейкам, но и к:
- 🖼️ Изображениям и фигурам (прямоугольники, стрелки и т.д.)
- 🔘 Кнопкам форм (из панели Разработчик)
- 📊 Элементам диаграмм
Чтобы найти такие ссылки:
- Нажмите
Ctrl + G(илиF5), затем выберите Выделить → Объекты. - Кликните правой кнопкой по выделенному объекту и выберите Ссылка (или Изменить ссылку).
- В открывшемся окне будет указан адрес (поле Адрес).
Для массовой проверки используйте VBA-скрипт:
Sub ListShapeHyperlinks()
Dim shp As Shape, ws As Worksheet, i As Long
Set ws = Worksheets.Add
ws.Name = "Ссылки_объектов"
ws.Range("A1").Value = "Объект"
ws.Range("B1").Value = "Адрес"
ws.Range("C1").Value = "Лист"
i = 2
For Each ws In ThisWorkbook.Worksheets
For Each shp In ws.Shapes
If shp.Hyperlink.Address <> "" Then
ws.Cells(i, 1).Value = shp.Name
ws.Cells(i, 2).Value = shp.Hyperlink.Address
ws.Cells(i, 3).Value = ws.Name
i = i + 1
End If
Next shp
Next ws
End Sub
| Тип объекта | Как проверить ссылку | Пример кода VBA |
|---|---|---|
| Изображение | ПКМ → Ссылка | shp.Type = msoPicture |
| Фигура (прямоугольник, oval) | ПКМ → Изменить ссылку | shp.Type = msoAutoShape |
| Кнопка формы | ПКМ → Назначить макрос (если ссылка через макрос) | shp.Type = msoFormControl |
| Диаграмма | Выделить → Формат диаграммы → Ссылка | shp.Chart.Hyperlink |
7. Проверка ссылок на работоспособность (поиск битых URL)
Найти ссылки — половина дела. Важно убедиться, что они ведут на существующие ресурсы. Для этого:
- 🌐 Используйте надстройку "Проверка ссылок" (например, Link Checker for Excel или Kutools).
- 🔄 Вручную проверяйте URL через функцию:
=ЕСЛИОШИБКА(ВЕБЗАПРОС(A1);"Битая");"Работает";"Битая")(требует подключения к интернету).
- 📊 Для массовой проверки экспортируйте ссылки на отдельный лист (см. раздел 3) и используйте Power Query с подключением к веб-источникам.
Если ссылка битая, Excel может:
- 🚫 Не подсвечивать её как гиперссылку.
- ⚠️ Показывать ошибку при клике (
Не удалось открыть указанный файл). - 🔄 Перенаправлять на страницу 404 (если это веб-адрес).
Для автоматизации проверки используйте этот VBA-скрипт (работает с веб-URL):
Function CheckURL(url As String) As String
On Error Resume Next
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "HEAD", url, False
http.send
If http.Status = 200 Then
CheckURL = "OK"
Else
CheckURL = "Error: " & http.Status & " " & http.statusText
End If
End Function
В ячейке введите =CheckURL(A1), где A1 — адрес ссылки.
FAQ: Частые вопросы о ссылках в Excel
Можно ли найти все ссылки в книге сразу, не переходя по листам?
Да, используйте VBA-макрос из раздела 5 — он соберёт все гиперссылки со всех листов на одном листе. Альтернатива — надстройка Kutools for Excel (платная), где есть функция "Список гиперссылок".
Почему Excel не даёт перейти по ссылке, хотя она подсвечена?
Возможные причины:
- 🔒 Файл открыт в защищённом режиме (проверьте жёлтую панель предупреждения вверху).
- 🌍 Ссылка ведёт на локальный файл, путь к которому изменился.
- 🔗 Ссылка создана через формулу
ГИПЕРССЫЛКА(), но ячейка отформатирована как текст. - 🛡️ Антивирус или корпоративная политика блокирует переходы по ссылкам.
Как удалить все ссылки из файла Excel?
Способы:
- Выделите диапазон с ссылками →
Ctrl + Shift + F9(удалит все гиперссылки в выделенной области). - Используйте VBA:
Sub DeleteAllHyperlinks()Dim ws As Worksheet, hl As Hyperlink
For Each ws In ThisWorkbook.Worksheets
For Each hl In ws.Hyperlinks
hl.Delete
Next hl
Next ws
End Sub
- Для ссылок в формулах замените
=ГИПЕРССЫЛКА(...)на=ТЕКСТ(...).
Как сделать так, чтобы ссылки не были синими и подчёркнутыми?
Отформатируйте ячейки:
- Выделите ячейки со ссылками.
- Нажмите
Ctrl + 1(или ПКМ → Формат ячеек). - На вкладке Шрифт выберите цвет (например, чёрный) и снимите галочку подчёркнутый.
Чтобы вернуть стандартный вид, используйте стиль "Гиперссылка" (вкладка Главная → Стили).
Можно ли создать ссылку, которая открывает другой файл Excel на конкретном листе?
Да, используйте формат:
=ГИПЕРССЫЛКА("[Путь\к\файлу.xlsx]ИмяЛиста!A1"; "Текст ссылки")
Пример:
=ГИПЕРССЫЛКА("C:\Reports\Data.xlsx!Лист2!B10"; "Открыть отчёт")
Важно: если путь содержит пробелы или кириллицу, заключите его в одинарные кавычки:
=ГИПЕРССЫЛКА("'C:\Мои файлы\[Отчёт 2023.xlsx]Лист1'!A1"; "Отчёт")