Вставка гиперссылок на листы в Excel макрос
Добрый день уважаемые читатели блога! После небольшого перерыва возобновляю работу по Excel. Вопросов накопилось довольно много — буду отвечать на них по очереди.
Сегодня речь пойдёт о гиперссылках в Excel, точнее об их автоматической вставке на лист. Представим ситуацию, когда в нашей книге листов огромное количество, бухгалтерские расчёты, к примеру.
Вставить вручную гиперссылки можно, пусть для этого и понадобится чуть больше времени. Обычно мы вставляем гиперссылки через вкладку «Вставка» и кнопку «Гиперссылка», а затем переходим на пункт «Место в документе».
Видите, уже сложнее. Проделать такую операцию с точки зрения времени будет слишком затратно. Поэтому напишем небольшой макрос.
Вставим в наш документ новый модуль:
- Вкладка «Разработчик», блок кнопок «Код», кнопка «Visual Basic»;
- Далее «Insert» — > «Module».
Поместим в поле кода следующий текст:
Sub SheetNamesAsHyperLinks() Dim sheet As Worksheet Dim cell As Range With ActiveWorkbook ‘ Для каждого листа (имени) создадим свою ссылку For Each sheet In ActiveWorkbook.Worksheets Set cell = Worksheets(1).Cells(sheet.Index, 1) .Worksheets(1).Hyperlinks.Add Anchor:=cell, Address:=””, _ SubAddress:=” ” & sheet.Name & «!A1» cell.Formula = sheet.Name Next End With End Sub
Немного подробностей:
- у нас есть две переменные «sheet» и «cell», лист и ячейка;
- «With activeWorkbook» — показывает, что макрос будет оперировать пространством всей книги;
- «For Each sheet In ActiveWorkbook.Worksheets Set cell = Worksheets(1).Cells(sheet.Index, 1) .Worksheets(1).Hyperlinks.Add Anchor:=cell, Address:=»”, _ SubAddress:=” ” & sheet.Name & «!A1» ” ” — для каждого листа в рабочей книге мы будем использовать первую ячейку (А1);
- «cell.Formula = sheet.Name» — формула для макроса будет помещение в ячейку A1 названия первого листа книги, далее в A2 второго и т.д.
Таким образом, мы экономим себе время на переходах, так как не отвлекаемся на нижнюю часть экрана с именами листов, а имеем список листов в виде гиперссылок. Понаблюдаем за результатами работы. Нажимаем сочетание клавиш ALT+F8 или переходим на вкладку «Разработчик», нажимаем кнопку «Макросы», у нас единственная строка «SheetNamesAsHyperLinks», нажимаем «Выполнить».
На листе «Оглавление» появится список всех существующих листов в нашей рабочей книге.
Теперь мы можем просто щёлкать ячейку с именем листа для перехода.
Если что-то было непонятно, посмотрите наше видео!
Вас может заинтересовать урок — Поменять строки местами.