При попытке открыть сразу несколько ссылок из Excel пользователи сталкиваются с ограничением: стандартный клик по гиперссылке открывает только одну вкладку за раз. Проблема усугубляется, если в таблице сотни URL — ручное копирование каждого адреса в браузер отнимает часы. Решение зависит от версии Excel (2016, 2019, 365 или Excel для Mac), наличия прав на запуск макросов и цели: нужно ли открывать ссылки в новых вкладках одного окна или в отдельных окнах браузера.
Самый быстрый способ — использовать VBA-макрос, но он требует разблокировки исполнения скриптов в настройках безопасности. Альтернативные методы — экспорт списка URL в текстовый файл с последующим импортом через браузерные расширения (например, Multi Links для Chrome) или обработка данных через Power Query. Ниже разобраны все варианты с учетом их ограничений: от ручных действий до автоматизации с помощью Application.FollowHyperlink.
Почему стандартный способ не работает
В Excel гиперссылки по умолчанию открываются в той же вкладке браузера, заменяя текущую страницу. Это связано с архитектурой Shell.Execute — команды Windows, которую вызывает Excel при клике по URL. Даже если удерживать Ctrl или Shift, результат будет таким же, как при обычном клике. Исключение — ссылки в формате =HYPERLINK("URL"), но они тоже не поддерживают массовое открытие.
Вторая причина — ограничения браузеров. Google Chrome, Mozilla Firefox и Microsoft Edge блокируют автоматическое открытие более 20 вкладок за раз как потенциально опасное действие (защита от DDoS-атак через JS). При попытке открыть 50+ ссылок часть из них может быть проигнорирована или перенаправлена в фоновый режим.
⚠️ Внимание: Если ссылки в Excel хранятся как текст (без гиперссылочного форматирования), стандартный клик не сработает. Сначала преобразуйте их в гиперссылки черезПравка → Гиперссылкаили функцию=HYPERLINK().
Метод 1: Макрос VBA для массового открытия ссылок
VBA-скрипт позволяет открывать все гиперссылки из выделенного диапазона в новых вкладках браузера. Работает в Excel 2016–2023 и Microsoft 365, но требует включения макросов в Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов (выберите Включить все макросы).
Инструкция:
- Выделите диапазон с гиперссылками (например,
A1:A50). - Нажмите Alt + F11, чтобы открыть редактор VBA.
- Вставьте новый модуль:
Вставка → Модуль. - Скопируйте код ниже и запустите его через F5.
Sub OpenAllHyperlinks()
Dim rng As Range
Dim cell As Range
Dim url As String
On Error Resume Next
Set rng = Selection.SpecialCells(xlCellTypeConstants, xlTextValues)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "Выделите ячейки с гиперссылками!", vbExclamation
Exit Sub
End If
For Each cell In rng
If cell.Hyperlinks.Count > 0 Then
url = cell.Hyperlinks(1).Address
ActiveWorkbook.FollowHyperlink Address:=url, NewWindow:=True
End If
Next cell
End Sub
Скрипт откроет каждую ссылку в новой вкладке по умолчанию в Internet Explorer (даже если он не установлен как браузер по умолчанию). Чтобы изменить браузер, замените ActiveWorkbook.FollowHyperlink на вызов через Shell:
Shell "C:\Program Files\Google\Chrome\Application\chrome.exe " & url, vbNormalFocus
Выделите только ячейки с гиперссылками (не весь столбец)|Проверьте, что в настройках браузера разрешено открытие новых окон|Сохраните файл как .xlsm (с поддержкой макросов)|Отключите блокировщики всплывающих окон в браузере-->
Метод 2: Экспорт URL в TXT и импорт через браузер
Если макросы отключены или вы используете Excel для Mac (где VBA ограничен), экспортируйте ссылки в текстовый файл и импортируйте их через браузерное расширение. Этот метод работает без программирования, но требует установки дополнительного ПО.
Шаги:
- Скопируйте столбец с URL в Блокнот (или TextEdit на Mac).
- Убедитесь, что каждая ссылка находится на новой строке (формат:
https://site1.comв строке 1,https://site2.comв строке 2 и т.д.). - Сохраните файл как
links.txt. - Установите расширение для браузера:
- 🌐 Multi Links (Chrome/Firefox) — позволяет открывать все ссылки из текстового файла.
- 🔗 Linkclump — поддерживает drag-and-drop списка URL.
- 📋 Open Multiple URLs — импорт из буфера обмена.
links.txt в расширение и выберите опцию Open in new tabs.⚠️ Внимание: Браузеры ограничивают количество одновременно открываемых вкладок. При попытке открыть >100 ссылок часть из них может не загрузиться. Разбейте список на части по 50–80 URL.
| Метод | Поддерживаемые версии Excel | Требуемые инструменты | Ограничения |
|---|---|---|---|
| VBA-макрос | 2016, 2019, 365, Excel для Mac (ограниченно) | Редактор VBA, права на выполнение макросов | Открывает в IE по умолчанию, блокируется антивирусами |
| Экспорт в TXT + расширение | Любые, включая Excel Online | Браузерное расширение (Multi Links, Linkclump) | Ограничение на количество вкладок (50–100) |
| Power Query | 2016+, Microsoft 365 | Встроенный инструмент Power Query | Не открывает ссылки напрямую, только экспортирует |
Метод 3: Power Query для обработки списка URL
Power Query (вкладка Данные → Получить данные) позволяет преобразовать список URL в формат, пригодный для импорта в браузер. Этот метод не открывает ссылки автоматически, но упрощает их экспорт.
Инструкция:
- Выделите столбец с URL.
- Перейдите на вкладку
Данные→Из таблицы/диапазона(в Excel 2016+). - В редакторе Power Query убедитесь, что данные распознаны как текст.
- Добавьте пользовательский столбец с формулой:
= """" & [Column1] & """"(это обернет каждую ссылку в кавычки для корректного импорта).
- Скопируйте результат в Блокнот и сохраните как
links.txt. - Используйте расширение Multi Links для открытия (см. Метод 2).
Power Query полезен, если ссылки требуют предварительной очистки (например, удаления лишних символов или извлечения доменов из длинных URL). Для этого добавьте шаги Заменить значения или Извлечь текст после символа.
Как удалить дубликаты URL в Power Query
1. Выделите столбец с ссылками.
2. На вкладке Главная нажмите Удалить строки → Удалить дубликаты.
3. Подтвердите действие.
Метод 4: Ручное открытие через буфер обмена
Если ссылок немного (<20), используйте буфер обмена и горячие клавиши браузера:
- Скопируйте первую ссылку (Ctrl + C).
- Откройте новую вкладку в браузере (Ctrl + T).
- Вставьте URL (Ctrl + V) и нажмите Enter.
- Повторите для остальных ссылок.
Ускорить процесс помогут инструменты:
- 🖱️ Мышь с программируемыми кнопками (назначьте на них Ctrl+C/Ctrl+T).
- 📋 Менеджеры буфера обмена (например, Ditto или ClipClip), которые хранят историю копирования.
- ⌨️ Автогорячие клавиши через AutoHotkey (скрипт для циклического открытия ссылок).
⚠️ Внимание: При копировании ссылок из Excel проверьте, что в буфер попадает именно URL, а не отображаемый текст (например, "Сайт компании" вместоhttps://company.com). Для этого используйтеПравка → Копировать как гиперссылку.
Метод 5: Онлайн-сервисы для массового открытия
Если нельзя использовать макросы или расширения, воспользуйтесь онлайн-инструментами:
- 🔗 URL Opener — вставляете список ссылок, сервис открывает их в новых вкладках.
- 🌐 Bulk URL Opener — поддерживает до 500 URL за раз.
- 📊 SEObility Bulk URL Opener — анализирует статус-коды открытых страниц.
Преимущество онлайн-сервисов — кроссплатформенность (работают на Windows, macOS, Linux), но есть риски:
- 🔒 Передача списка URL третьей стороне (не используйте для конфиденциальных ссылок).
- 🚫 Ограничение на количество запросов (бесплатные версии часто лимитированы).
- ⚡ Зависимость от скорости интернета (при открытии 100+ ссылок возможны зависания).
VBA-макрос|Браузерные расширения|Power Query|Ручное копирование|Онлайн-сервисы-->
Ошибки и их решения
При массовом открытии ссылок из Excel возможны сбои. Распространённые проблемы и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
| Ссылки открываются в IE вместо Chrome/Firefox | VBA использует Shell.Execute с настройками по умолчанию |
Замените FollowHyperlink на прямой вызов браузера через Shell (см. Метод 1) |
| Браузер блокирует открытие вкладок | Защита от всплывающих окон или превышен лимит (обычно 20–50 вкладок) | Разбейте список на части по 30–40 URL или отключите блокировщик в настройках браузера |
| Макрос не запускается | Отключены макросы или файл сохранён как .xlsx вместо .xlsm |
Включите макросы в Параметры Excel → Центр управления безопасностью и сохраните файл с поддержкой макросов |
| Ссылки не распознаются как гиперссылки | Данные хранятся как текст, а не как объекты Hyperlink |
Преобразуйте текст в гиперссылки через =HYPERLINK(A1) или Правка → Гиперссылка |
Критическая ошибка: если при открытии ссылок через VBA появляется сообщение "Не удаётся открыть указанную страницу", проверьте, что URL начинаются с http:// или https://. Отсутствие протокола приводит к сбою.
=ЕСЛИ(ЛЕВСИМВ(A1;8)="https://"; A1; "https://" & A1)
-->
FAQ: Частые вопросы
Можно ли открыть ссылки из Excel на Mac?
Да, но с ограничениями:
- VBA на Mac поддерживается, но
FollowHyperlinkработает нестабильно. ИспользуйтеShellс путем к Safari:
Shell "open -a Safari " & url
Как открыть ссылки из Excel Online?
В веб-версии Excel Online макросы и Power Query недоступны. Используйте:
- Копирование ссылок в текстовый файл и импорт через расширение браузера.
- Онлайн-сервисы (см. Метод 5).
- Экспорт таблицы в
.csvи обработку через Google Sheets + скрипт Apps Script.
Почему часть ссылок не открывается?
Возможные причины:
- 🔗 Ссылки содержат пробелы или спецсимволы (например,
%20вместо пробела). Используйте=ПОДСТАВИТЬ(A1; " "; "%20"). - 🌐 Домен заблокирован на уровне сети (проверьте через
pingв командной строке). - 🔒 Браузер блокирует открытие из-за политики безопасности (проверьте настройки
chrome://settings/content/popups). - 📥 Превышен лимит одновременно открытых вкладок (закройте ненужные).
Как открыть ссылки в фоновом режиме?
Чтобы вкладки открывались в фоновом режиме (без переключения фокуса), модифицируйте VBA-скрипт:
Shell "chrome.exe --headless --disable-gpu " & url, vbHide
Или используйте расширение Linkclump с настройкой Open in background.
Можно ли открыть ссылки с задержкой?
Да, добавьте в VBA-скрипт функцию Application.Wait:
For Each cell In rng
url = cell.Hyperlinks(1).Address
ActiveWorkbook.FollowHyperlink Address:=url, NewWindow:=True
Application.Wait (Now + TimeValue("0:00:02")) ' Задержка 2 секунды
Next cell
Это полезно, если сайты блокируют частые запросы (например, при парсинге).