Что такое гиперссылка?
- интернет-страница в браузере по умолчанию
- локальный файл на текущем ПК или файл на подключенном сетевом диске
- директория(папка) на локальном ПК или подключенном сетевом диске
Установить гиперссылку можно несколькими способами: через стандартное меню и путем создания функции.
и самый распространенный: правый клик мыши по ячейке -
Там можно выбрать вид ссылки:
на файл или веб-страницу . Если на веб-страницу, то необходимо в поле "Адрес" указать адрес веб-страницы. Если ссылка на файл - просто выбрать файл в диспетчере файлов.местом в документе . Выбирается необходимый лист и адрес ячейки, на которую необходимо переместиться по нажатии гиперссылки.новым документом . Создается новый документ и сразу ссылка на него. При нажатии гиперссылки будет открыт этот файл.электронной почтой . Указывается адрес электронной почты и тема письма по умолчанию. По нажатии ссылки будет создано письмо на указанный адрес электронной почты и с указанной темой.
Самый серьезный недостаток этого метода в том, что после сортировки таблиц со множеством таких гиперссылок они неизбежно "ломаются", т.е. перестают работать.
ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), _ Address:="http://www.excel-vba.ru/", _ TextToDisplay:="Перейти на сайт http://www.excel-vba.ru/" |
Данный код создаст в ячейке A1 активного листа гиперссылку на сайт http://www.excel-vba.ru/.
Range("A1") - это ячейка, в которой будет создана гиперссылкаAddress(http://www.excel-vba.ru/) - адрес страницы(или путь к файлу или директории), который будет открыт по клике на ячейкуTextToDisplay(Перейти на сайт http://www.excel-vba.ru/) - это текст, который будет отображаться в ячейке. Может отличаться от адреса самой ссылки
Гиперссылки можно создавать на листе через одноименную функцию
www.excel-vba.ru - адрес страницы(или путь к файлу или директории), который будет открыт по клике на ячейкупереход на сайт - текст, который будет отображаться в ячейке. Может отличаться от текста самой ссылки
Конечно, универсальность создания гиперссылок через функцию именно в том, что можно в отдельном столбце записать адреса интернет-страниц, а в другой просто создать на них ссылки. Допустим, если в столбце А у нас ссылки, то в столбец В мы можем записать и протянуть такую формулу:
Или другой вариант: у нас есть адреса сайта(для примера возьмем этот:
Теперь при клике на ячейку откроется страница https://www.excel-vba.ru/kak-excel-vosprinimaet-dannye.
А можно сделать еще универсальнее - записать вдобавок адрес сайта не статично внутри функции, а в отдельной ячейке. Пусть это будет ячейка D1. Тогда функция будет выглядеть так:
Важно учитывать слеши в ячейках. Т.е. если в D1 записан адрес домена без слеша на конце(
Нетрудно догадаться, что таких ссылок можно создать множество простым копированием формулы в другие ячейки и что немаловажно - в столбце А можно записывать разные окончания ссылок. Если вдруг сайт поменял адрес, но система ссылок осталась прежней - надо будет лишь заменить основной адрес. То же самое можно отнести и к файлам на диске: если поменялась лишь корневая директория - то просто меняем её в функции или в ячейке.
Так же можно создать гиперссылку, переходящую на определенную ячейку на листе:
Обращаю особое внимание на знак решетки(#) перед именем листа - в данном случае он обязателен, т.к. указывает функции, что переход будет осуществляться внутри листов книги, в которой записана гиперссылка.
Ссылку на ячейку можно указывать динамически, ссылаясь на определенную ячейку, не вписывая её адрес(на примере
Или более классическая ситуация - в столбце А у нас записаны имена листов, а в столбце В нам необходимо сделать гиперссылки на ячейку D4 отдельно для каждого листа. Иными словами - оглавление. Тогда в ячейку
Важно: Обращаю внимание на функцию выше - она несколько отличается от приведенных ранее. Если в имени листа содержатся пробелы(или иные знаки препинания, кроме точки и нижнего подчеркивания), то обязательно после знака решетки и перед восклицательным знаком ставить знаки апострофа() '
"# ' Москва Январь' !D4"
Если для таких ссылок не указать апостроф, то получим ошибку "Неверная ссылка".
Если же пробелов и иных символов в имени листа нет - указание апострофа не вызовет ошибку. Поэтому для подстраховки, в подобных случаях правильнее всегда указывать апострофы, чтобы избежать неверных ссылок.
Можно так же переходить на ячейки листа в другой книге:
Здесь есть существенное ограничение: книга, на которую ссылается функция ГИПЕРССЫЛКА, должна быть открыта. И обязательно должна быть заключена в квадратные скобки, как в примере выше.
Важно: Если в имени книги или листа содержатся пробелы(или иные знаки препинания, кроме точки и нижнего подчеркивания), то обязательно после знака решетки и перед восклицательным знаком ставить апостроф('). Я специально в функции выше привел пример именно с пробелом(Продажи 2011.xls) - для наглядности.
При этом, как уже упоминал выше - неважно, пробел в имени листа или книги:
=ГИПЕРССЫЛКА("# ' [Продажи.xls]Москва Январь' !D4");"Перейти в ячейку D4")
И если не уверены в том, будет ли имя листа и книги содержать такие символы(например, если адрес для перехода составляется из ссылок на другие ячейки) - лучше в формуле проставлять апострофы всегда. Ошибкой это не будет и гиперссылка будет работать, даже если таких символов в имени не окажется.
При помощи функции ГИПЕРССЫЛКА так же можно указать путь к файлу, который необходимо открыть по нажатии ячейки:
Путь должен быть корректным, а имя файла необходимо указывать с расширением.
В качестве адреса для функции ГИПЕРССЫЛКА нельзя применить и открытие книги и одновременный переход на нужный лист и ячейку этой книги. Т.е. нельзя указать что-то вроде:
Это связано с ограничением именно самой функции и на момент написания статьи точно не работало.
Так же см.:
Как массово изменить гиперссылки?
Как получить адрес гиперссылки из ячейки
Как сделать гиперссылку на процедуру?
Статья помогла? Поделись ссылкой с друзьями!

Поиск по меткам
Access apple watch Multex Power Query и Power BI VBA управление кодами Бесплатные надстройки Дата и время Записки ИП Надстройки Печать Политика Конфиденциальности Почта Программы Работа с приложениями Разработка приложений Росстат Тренинги и вебинары Финансовые Форматирование Функции Excel акции MulTEx ссылки статистикаКомментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум
Здравствуйте!
А как с помощью гиперссылки ссылатся на программный код модуля. Т.е. создать кнопку "посмотреть код" (excel 2007).
А как через формулу получить адрес гиперссылки?
тоесть у нас есть ячейка сореджащая гиперссылку, мне нужен её адрес
чтото типа
Ячейка = ГИПЕРССЫЛКА(адрес;имя)- создает гиперссылку
ГИПЕРССЫЛКА_ПАРСЕР(Ячейка;"адрес") - Возвращает адрес из ячейки
Дмитрий - через формулу никак. Только с применением макросов (создание пользовательской функции).
Добрый день! В ячейках текст=ссылке на файл. Возможно ли сделать из них гиперссылки не по одному, а "оптом"?
Вера, а чем описанный метод не подходит?
=ГИПЕРССЫЛКА(A1;"переход на сайт")
Спасибо! Получилось сделать ссылки более чем на 800 файлов за несколько секунд. Я правильно понимаю, что теперь вместо одного столбца, будет два, т.к. планируется дальнейшее использование "текстовых путей"?
Да, совершенно верно.
здравствуйте,
попробовала сделать динамическую ссылку =HYPERLINK("#Sheet2!"&CELL("address";Sheet2!B5);"динамическая ссылка на ячейку") не получилось, что я сделала не так и в чем смысл этой ссылки, что она делает?
Елена, смысл ссылки описан выше в статье с примером самой фукнции(посмотрите на пример, сравните со своим и найдите отличия). Почитайте справку по функции ЯЧЕЙКА(CELL) и может поймете почему не работет. Запишите эту функцию отдельно и посмотрите результат - у Вас функция вернет не просто адрес, а еще и имя Книги и Листа, что совершенно лишнее в данном случае.
Здравствуйте как реализовать такую задачу:
делается гиперссылка на ячейку с текстом и затем при добавлении страниц перед этой ячейкой ссылка все равно переходила на ячейку с этими данными в одном листе