Если в вашей рабочей книге Excel число листов перевалило за второй десяток, то навигация по листам начинает становится проблемой. Одним из красивых способов ее решения является создание листа-оглавления с гиперссылками, ведущими на соответствующие листы книги:
Есть несколько способов реализовать подобное.
Видео
Способ 1. Создаваемые вручную гиперссылки
Вставьте в книгу пустой лист и добавьте на него гиперссылки на нужные вам листы, используя команду Вставка — Гиперссылка (Insert — Hyperlink). В открывшемся окне нужно выбрать слева опцию Место в документе и задать внешнее текстовое отображение и адрес ячейки, куда приведет ссылка:
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление. Чтобы не заниматься ручным созданием гиперссылок и копированием их потом на каждый лист, лучше использовать другой метод — функцию ГИПЕРССЫЛКА (HYPERLINK). Выделяем все листы в книге, куда хотим добавить обратную ссылку (для массового выделения листов можно использовать клавиши Shift и/или Ctrl) и в любую подходящую ячейку вводим функцию следующего вида:
=ГИПЕРССЫЛКА(«#Оглавление!A1″;»Назад в оглавление»)
Эта функция создаст в текущей ячейке на всех выделенных листах гиперссылку с текстом «Назад в оглавление», щелчок по которой будет возвращать пользователя к листу Оглавление.
Способ 2. Динамическое оглавление с помощью формул
Это хоть и слегка экзотический, но весьма красивый и удобный способ создания автоматического листа оглавления вашей книги. Экзотический – потому что в нем используется недокументированная XLM-функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ (GET.WORKBOOK), оставленная разработчиками для совместимости со старыми версиями Excel. Эта функция выгружает список всех листов текущей книги в заданную переменную, из которой мы потом можем их извлечь и использовать в нашем оглавлении.
Откройте Диспетчер Имен на вкладке Формулы (Formulas – Name Manager) и создайте новый именованный диапазон с именем, допустим, Оглавление. В поле Диапазон (Reference) введите вот такую формулу:
=ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1)
=GET.WORKBOOK(1)
Теперь в переменной Оглавление содержатся наши искомые имена. Чтобы извлечь их оттуда на лист, можно воспользоваться функцией ИНДЕКС (INDEX), которая «выдергивает» элементы из массива по их номеру:
=ИНДЕКС(Оглавление; СТРОКА())
=INDEX(Оглавление; ROW())
Функция СТРОКА (ROW) выдает номер текущей строки и, в данном случае, нужна только для того, чтобы вручную не создавать отдельный столбец с порядковыми номерами извлекаемых элементов (1,2,3…). Таким образом, в ячейке А1 у нас получится имя первого листа, в А2 – имя второго и т.д.
Неплохо. Однако, как можно заметить, функция выдает не только имя листа, но и имя книги, которое нам не нужно. Чтобы его убрать, воспользуемся функциями ЗАМЕНИТЬ (SUBST) и НАЙТИ (FIND), которые найдут символ закрывающей квадратной скобки ( ] ) и заменят весь текст до этого символа включительно на пустую строку («»). Откроем еще раз Диспетчер имен с вкладки Формулы (Formulas — Name Manager), двойным щелчком откроем созданный диапазон Оглавление и изменим его формулу:
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)
=SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)
Теперь наш список листов будет выглядеть существенно лучше:
Небольшая побочная трудность заключается в том, что наша формула в именованном диапазоне Оглавление будет пересчитываться только при вводе, либо при принудительном пересчете книги нажатием на сочетание клавиш Ctrl+Alt+F9. Чтобы обойти этот неприятный момент, добавим к нашей формуле небольшой «хвост»:
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)&Т(ТДАТА())
=SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)&T(NOW())
Функция ТДАТА (NOW) выдает текущую дату (с временем), а функция Т превращает эту дату в пустую текстовую строку, которая затем приклеивается к нашему имени листа с помощью оператора склейки (&). Т.е. имя листа, фактически, не меняется, но поскольку функция ТДАТА пересчитывается и выдает новое время и дату при любом изменении листа, то и остальная часть нашей формулы вынуждена будет заново пересчитаться тоже и – как следствие – имена листов будут обновляться постоянно.
Для скрытия ошибок #ССЫЛКА (#REF), которые будут появляться, если скопировать нашу формулу с функцией ИНДЕКС на большее количество ячеек, чем у нас есть листов, можно использовать функцию ЕСЛИОШИБКА (IFERROR), которая перехватывает любые ошибки и заменяет их на пустую строку («»):
И, наконец, для добавления к именам листов «живых» гиперссылок для быстрой навигации, можно использовать все ту же функцию ГИПЕРССЫЛКА (HYPERLINK), которая будет формировать адрес для перехода из имени листа:
Способ 3. Макрос
И, наконец, для создания оглавления можно использовать и несложный макрос. Правда, запускать его придется каждый раз при изменении структуры книги — в отличие от Способа 2, макрос их сам не отслеживает.
Откройте редактор Visual Basic, нажав Alt+F11 или выбрав (в старых версиях Excel) в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor). В открывшемся окне редактора создайте новый пустой модуль (меню Insert — Module) и скопируйте туда текст этого макроса:
Sub SheetList() 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
Закройте редактор Visual Basic и вернитесь в Excel. Добавьте в книгу чистый лист и поместите его на первое место. Затем нажмите Alt+F8 или откройте меню Сервис — Макрос — Макросы (Tools — Macro — Macros). Найдите там созданный макрос SheetList и запустите его на выполнение. Макрос создаст на первом листе книги список гиперссылок с названиями листов. Щелчок по любой из них переместит Вас на нужный лист.
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление, как это было описано в Способе 1.
Ссылки по теме
- Что такое макрос, как его создать, куда копировать текст макроса, как запустить макрос?
- Автоматическое создание оглавления книги одной кнопкой (надстройка PLEX)
- Отправка писем с помощью функции ГИПЕРССЫЛКА
- Быстрый переход между листами книги Excel
Оглавление в Excel.
Смотрите также раз переопределять имена данного вопроса, набравNext требуется разбить лист. создаст на первом старых версиях Excel) как следствие –=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)СТРОКА (ROW) нем используется недокументированная также и обратные с помощью стандартного сделать содержание в втором листе делаем Оглавление можно сделать отдел». При присвоенииКак сделать содержание в вручную или макросом
в Поиске фразуEnd WithОбе области — листе книги список в меню имена листов будут=SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)выдает номер текущей XLM-функция ссылки на всех механизма гиперссылок, нажав Excel». гиперссылку на первый из названия страниц. имени, не забываем ExcelВариант с поиском «Оглавление» или «Содержание»End Sub выделите ячейку, расположенную гиперссылок с названиямиСервис — Макрос - обновляться постоянно.Теперь наш список листов строки и, вПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ (GET.WORKBOOK) листах вашей книги,CTRL+KСоздадим оглавление Книги с лист «Оглавление». Теперь В оглавлении нажимаем указать лист, на, во вложении
exetМурад слева и выше листов. Щелчок по Редактор Visual BasicДля скрытия ошибок будет выглядеть существенно данном случае, нужна, оставленная разработчиками для которые будут вести
или через меню Вставка/ Связи/ помощью функции ГИПЕРССЫЛКА(). копируем эту гиперссылку. правой мышкой на котором находится этоесли нет специальнойexet13: Добрый день, форумчани.: А как доработать того места, где любой из них(Tools — Macro -#ССЫЛКА (#REF) лучше: только для того,
совместимости со старыми назад в оглавление.
Гиперссылка (после вызова окна ВставкаПусть в книге имеется Переходим на лист пустую ячейку. В название. Как присвоить функции? Можно использовать: Ох, печаль каждыйПомогите, чем можете этот макрос, чтоб требуется разбить лист. переместит Вас на Visual Basic Editor), которые будут появляться,Небольшая побочная трудность заключается чтобы вручную не версиями Excel. Эта Чтобы не заниматься гиперссылки выберите Связать с: местом несколько листов: к103, 3, нажимаем клавишу диалоговом окне в
имя ячейке, смотрите функцию «Гиперссылка» в раз переопределять имена…Есть 2 листа. вначале создавался новый2. В меню нужный лист.. В открывшемся окне если скопировать нашу в том, что создавать отдельный столбец функция выгружает список ручным созданием гиперссылок в документе). к104, к105, … «Ctrl», удерживая её разделе «связать с:» в статье «Присвоить Excel. Например, уСпасибо большое за На первом - лист, который помещается Окно выберите командуДля удобства можно создать редактора создайте новый формулу с функцией наша формула в с порядковыми номерами всех листов текущей и копированием ихПримечание (например перечень комнат). нажатой, нажимаем левой нажимаем на «местом имя в Excel нас есть огромная поиск! оглавление, на втором в начало книги, Закрепить области. также и обратные пустой модуль (менюИНДЕКС именованном диапазоне извлекаемых элементов (1,2,3…). книги в заданную потом на каждый: Ссылки, созданные с Составим оглавление, позволяющее мышкой ярлыки всех в документе». Выходит ячейке, диапазону, формуле». таблица на несколькоА других вариантов прайс-лист. под именем «Оглавление»?Мурад ссылки на всехInsert — Module на большее количествоОглавление Таким образом, в переменную, из которой лист, лучше использовать использованием стандартного механизма гиперссылок быстро перемещаться по листов книги, в перечень листов и В диспетчере имен
excel-office.ru
Оглавление книги на основе гиперссылок в MS EXCEL
листов. На первой оглавления (например без
Прайс-лист каждый день И уже в: Добрый день! Помогите листах вашей книги,) и скопируйте туда ячеек, чем убудет пересчитываться только ячейке А1 у
мы потом можем другой метод - перестают работать при листам книги (см. которых нужно установить имена диапазонов. Если
видны все имена. странице мы сделаем имен) по моим
формируется из базы нем начинает работать написать макрос, создающий которые будут вести текст этого макроса: нас есть листов, при вводе, либо нас получится имя их извлечь и
функцию переименовании листов. файл примера). ссылку на оглавление.
нужно сделать ссылкуТеперь, если мы вставим оглавление этой книги.
требованиям в екселе 1с и соответственно макрос, указанный сверху.
на первом листе назад в оглавление,Sub SheetList() Dim можно использовать функцию при принудительном пересчете первого листа, в использовать в нашемГИПЕРССЫЛКА (HYPERLINK)Если в вашей рабочей
Создадим в столбце Так мы выделили на лист, то строку в таблицу, Вторая и следующие
excel2.ru
Оглавление книги Excel
не найти? видоизменяется.JayBhagavan книги Excel оглавление, как это было sheet As WorksheetЕСЛИОШИБКА (IFERROR) книги нажатием на А2 – имя оглавлении.. Выделяем все листы книге Excel число
А все листы сразу.
Видео
Способ 1. Создаваемые вручную гиперссылки
выбираем этот лист то изменится адрес страницы – этоSerge_007Прайс-лист это 20: состоящее из названий описано в Dim cell As, которая перехватывает любые сочетание клавиш второго и т.д.Откройте в книге, куда листов перевалило за
перечень названий листов Теперь вставляем гиперссылку из списка, нажимаем ячейки с именем, таблицы разных отделов: Можно что-нибудь придумать категорий подкатегорий товара.Мурад листов — гиперссылокСпособе 1 Range With ActiveWorkbook ошибки и заменяетCtrl+Alt+F9Неплохо. Однако, как можноДиспетчер Имен хотим добавить обратную второй десяток, то книги. В ячейке в нужную ячейку «ОК». Получилось такое т.е. имя привязано (отдел продаж, отделФормуляр Названия категорий не, перед добавлением листа в соответствующие листы.
.
For Each sheet их на пустую. Чтобы обойти этот заметить, функция выдаетна вкладке ссылку (для массового навигация по листамВ9 листа. Всё, ссылка содержание в Excel.
Способ 2. Динамическое оглавление с помощью формул
к названию отдела. закупок, т.д.). Примерно,: У меня целых меняются, соответственно и с требуемым именем Очень удобно приВ общем, когда прокручиваешь In ActiveWorkbook.Worksheets Set строку («»): неприятный момент, добавим не только имяФормулы (Formulas – Name выделения листов можно начинает становится проблемой.запишем формулу: «Оглавление» появилась наСсылка на лист получается На первой странице так (в примере 2 варианта получилось: оглавление не изменяется.
проверьте нет ли навигации. таблицу Excel вниз, cell = Worksheets(1).Cells(sheet.Index,И, наконец, для добавления к нашей формуле листа, но и Manager) использовать клавиши Одним из красивых=ГИПЕРССЫЛКА(«[«&$B$6&»]»&A9&»!A1″;»Нажмите ссылку, чтобы перейти всех выделенных листах. такой, как в
составляем оглавление из
таблицы маленькие).
1ый — неСделал оглавление с его уже вНазвания листов расположены то оглавление скрывается. 1) .Worksheets(1).Hyperlinks.Add anchor:=cell, к именам листов небольшой «хвост»: имя книги, котороеи создайте новыйShift
способов ее решения
на Лист «&A9&»,
Осталось разгруппировать листы. ячейке А2. Но названия отделов иПринцип составление содержания в работает, а 2ой привязкой гиперссылки по книге. сверху вниз в Но можно как Address:=»», SubAddress:=»‘» & «живых» гиперссылок для=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»») нам не нужно. именованный диапазон си/или является создание листа-оглавления
в ячейку А1″) Для этого, нажимаем в строке формул подразделений. том, чтобы сделать не годится (для присвоенному имени. Но200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sheets.Add before:=Sheets(1) порядке расположения в то сделать, чтобы sheet.Name & «‘» быстрой навигации, можно&Т(ТДАТА())=SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)&T(NOW()) Чтобы его убрать, именем, допустим,Ctrl с гиперссылками, ведущимив ячейке правой мышкой на можно подкорректировать название,Теперь остается сделать гиперссылки гиперссылки. Но, есть большого количества ссылок) вот беда, ячейкаSheets(1).Name = «Oglavlenie» книге. оглавление оставалось висеть & «!A1» cell.Formula
использовать все ту
Функция ТДАТА (NOW) выдает
воспользуемся функциямиОглавление) и в любую
на соответствующие листыВ6 любой выделенный ярлык например, как в на эти слова. одна хитрость. Гиперссылки1ый вариант (в автоматически меняется, толькоWasilichPelena вверху, окна, а = sheet.Name Next же функцию текущую дату (сЗАМЕНИТЬ (SUBST)
. В поле подходящую ячейку вводим
книги:содержится имя текущей и выбираем из ячейке А3 – Как это сделать, будем делать не ст-це если в ручную: Вам: Здравствуйте остальная часть таблицы End With EndГИПЕРССЫЛКА (HYPERLINK) временем), а функцияиДиапазон (Reference) функцию следующего вида:Есть несколько способов реализовать книги (подробнее читайте контекстного меню функцию убрали восклицательный знак смотрите в статье на ячейки, аС
редактировать прайс-лист, аPelenaПохожая тема прокручивалась. Просто когда Sub, которая будет формировать Т превращает этуНАЙТИ (FIND)введите вот такую=ГИПЕРССЫЛКА(«#Оглавление!A1″;»Назад в оглавление») подобное. в статье Извлечение «Разгруппировать листы». Как и адрес ячейки. «Как сделать гиперссылку
на имя ячейки,), через если просто вставлятьсделала ссылку наМурад таблица большая, неЗакройте редактор Visual Basic адрес для перехода дату в пустую, которые найдут символ
Способ 3. Макрос
формулу:Эта функция создаст вВставьте в книгу пустой имени файла). В сочетанием клавиш переходить Если листы подписаны в Excel». Встаем название отдела. ЕслиHYPERLINK() новый прайс, то похожую тему, Вы
: удобно все время и вернитесь в из имени листа: текстовую строку, которая закрывающей квадратной скобки=ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1) текущей ячейке на лист и добавьте случае, если книга по листам книги по-другому, то в на ячейку с сделаем гиперссылку на, выдаёт ошибку «Cannot гиперссылка по имени
ее смотрели? Там200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub SheetList() прокручивать её вверх, Excel. Добавьте вИ, наконец, для создания затем приклеивается к ( ] )=GET.WORKBOOK(1) всех выделенных листах на него гиперссылки будет переименована, оглавление Excel, читайте в списке будут эти названием, которое хотим
ячейку, то, если open specified file», ведет уже неAlex_STDim sheet As чтобы посмотреть как книгу чистый лист оглавления можно использовать нашему имени листа и заменят весьТеперь в переменной гиперссылку с текстом на нужные вам продолжит работать. статье «Сочетание клавиш названия листов. Смотрите сделать гиперссылкой. Из вставим строку выше хотя мне казалось, туда куда надо.выложил код на Worksheet называется столбец. Как и поместите его
и несложный макрос. с помощью оператора текст до этогоОглавление «Назад в оглавление», листы, используя командуЕсли книгу не планируется в Excel». Ещё ячейку А4. Можно контекстного меню выбираем
planetaexcel.ru
Как сделать так, чтобы оглавление таблицы в Excel не скрывалось при прокручивании документа ?
этой ячейки, то я этим раньшеЕсть ли возможность 100% такой какDim cell As это сделать? на первое место. Правда, запускать его склейки (&). Т.е. символа включительно насодержатся наши искомые щелчок по которойВставка — Гиперссылка (Insert переименовывать, то имя об одном способе,
сделать на каждом функцию «Гиперссылка». В гиперссылка работать не как-то пользовался -
в екселе сделать вам надо. Даже RangeNataliya
Затем нажмите придется каждый раз имя листа, фактически, пустую строку («»).
имена. Чтобы извлечь будет возвращать пользователя — Hyperlink) книги можно указатькак перейти на другой
листе книги диалоговом окне выбираем будет, сдвинется. Итак,
Оглавление / Содержание книги (Макросы/Sub)
так и не гиперссылку из оглавления, имя листа такоеWith ActiveWorkbook: 1. Чтобы закрепитьAlt+F8 при изменении структуры не меняется, но Откроем еще раз их оттуда на
к листу. В открывшемся окне в текстовой форме: лист в
обратную гиперссылку к оглавлению из списка нужное
на каждой странице
вспомнил как которая по точному же.
For Each sheet область, выполните одно
или откройте меню книги - в
поскольку функция ТДАТА
Диспетчер имен лист, можно воспользоваться
Оглавление нужно выбрать слева
=ГИПЕРССЫЛКА("[_Оглавление_с_гиперссылками.xlsx]к103!A1";"Нажмите ссылку, чтобы перейтиExcel книги имя. Нажимаем «ОК».
присваиваем имена ячейкам
Может коллеги чего
совпадению названия категории
Мурад
In ActiveWorkbook.Worksheets из следующих действий.Сервис — Макрос - отличие от пересчитывается и выдаетс вкладки функцией. опцию на Лист «&A9&»,
, смотрите в статьеExcel Всё, ссылка готова. с названием отделов подскажут… выкидывает куда надо?: То, что яSet cell =Верхнюю горизонтальную область
Макросы (Tools -
Способа 2 новое время иФормулы (Formulas — NameИНДЕКС (INDEX)Это хоть и слегкаМесто в документе в ячейку А1″) «Листы в Excel». Сначала присвоим имяТак делаем все гиперссылки. — «Отдел продаж»,2ой вариант (в
Спасибо нашел по той Worksheets(1).Cells(sheet.Index, 1) — выделите строку, Macro — Macros), макрос их сам дату при любом Manager), которая «выдергивает» элементы экзотический, но весьмаи задать внешнее
excelworld.ru
оглавление по тексту ячейки
При нажатии гиперссылки MS тут. Как сделать
оглавлению через функцию
Получилось такое оглавление. «Отдел закупок». Если ст-цеexet13
ссылке, я выложил.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:=»», под которой требуется. Найдите там созданный
не отслеживает. изменении листа, то, двойным щелчком откроем из массива по красивый и удобный
текстовое отображение и EXCEL перейдет в содержание в большой «Присвоить имя». НапримерВсё, оглавление готово. Теперь таблицы длинные, то,A: Извините, забыл вставить сразу же в SubAddress:=»‘» & sheet.Name разбить лист. макрос
Откройте редактор Visual Basic, и остальная часть созданный диапазон их номеру: способ создания автоматического адрес ячейки, куда
окно соответствующего листа.
таблице на отделы, — «Оглавление». Оглавление можно быстро перейти
можно присвоить имена) работает, но требует файл этой теме, чтобы
& «‘» &Левую вертикальную область
SheetList нажав нашей формулы вынуждена
Оглавление=ИНДЕКС(Оглавление; СТРОКА())
листа оглавления вашей приведет ссылка:Для обратного перехода к подразделы таблицы, смотрите у нас на
на нужную страницу и подразделениям –
ручной настройки именованныхSerge_007 новички смогли найти
«!A1″ — выделите столбец,и запустите егоAlt+F11
будет заново пересчитатьсяи изменим его=INDEX(Оглавление; ROW()) книги. Экзотический –Для удобства можно создать оглавлению можно создать ссылку в статье «Как первом листе. На в нужный подраздел. «1 отдел», «2 диапазонов.: Вам придётся каждый
в будущем решениеcell.Formula = sheet.Name
слева от которого на выполнение. Макросили выбрав (в тоже и – формулу:Функция
excelworld.ru
потому что в
Если книга Excel содержит такое количество листов, что их названия не помещаются внизу листа, сложно переключаться между листами. Конечно, можно использовать кнопки перехода между листами или список листов, который появляется при нажатии правой кнопкой мыши на кнопки перехода (активный лист при этом отмечен галочкой). Но мы можно использовать и другой способ переключения между листами — добавление в книгу оглавления.
Создание списка листов
В самом начале книги добавим еще один лист. Для этого щелкнем правой кнопкой мыши по листу 1 и выберем Вставить.
Переименуем новый лист в Оглавление.
Увеличим ширину столбца А листа Оглавление, чтобы можно было в нем разместить список листов.
В каждую ячейку введем текст: заголовок Оглавление и список листов книги.
Создание гиперссылок для перехода к листам книги
Выделим ячейку А2, в которую введено название первого листа, щелкнем по ней правой кнопкой мыши и в контекстном меню выберем Гиперссылка.
Появится диалоговое окно Вставка гиперссылки. Нам нужно выбрать, с чем связать гиперссылку: Связать с местом в документе. Укажем адрес ячейки, к которой мы перейдем по гиперссылке, в данном случае A1, и выберем место: лист Теоретический материал. Можно ввести текст подсказки, которая будет появляться при наведении указателя мыши на ячейку с гиперссылкой. В качестве подсказки введем текст Лист 1. После выбора параметров нажимаем ОК.
Нажмите для увеличения
Текст в ячейке изменил свой внешний вид. Это означает, что для него создана гиперссылка. При наведении указателя мыши на него появляется подсказка Лист 1.
Точно так же настроим гиперссылки на другие листы книги. Обратим внимание, что гиперссылка, по которой осуществлялся переход, меняет свой цвет.
Как изменить цвет гиперссылки в Excel?
Если синий и фиолетовый цвета гиперссылок нас не устраивают, можно выбрать свои цвета. Для этого на вкладке Разметка страницы выберем Цвета — Создать новые цвета темы.
Выберем цвета гиперссылки и просмотренной гиперссылки и нажмем Сохранить.
Гиперссылки изменили цвет.
Как создать кнопку на листе в Excel?
Рассмотрим создание кнопки в ячейках. Для примера, создадим кнопку Оглавление, при щелчке на которой будет открываться первый лист из нашего примера.
Шаг 1. Перейдем на лист Теоретический материал. Выберем Вставка — Фигуры, выберем любую фигуру для создания гиперссылки. Напечатаем текст внутри фигуры — Оглавление. Таким образом мы нарисовали кнопку.
Шаг 2. Выделим фигуру, щелкнем по ней правой кнопкой мыши и выберем Гиперссылка.
Укажем параметры гиперссылки: Связать с местом в документе, перейти на лист Оглавление в ячейку А1. Можно создать подсказку, которая будет появляться при наведении указателя мыши на фигуру. Нажимаем ОК. Гиперссылка для перехода к листу Оглавление создана.
Аналогично можно создать кнопки-гиперссылки на других листах книги.
Кратко об авторе:
Шамарина Татьяна Николаевна — учитель физики, информатики и ИКТ, МКОУ «СОШ», с. Саволенка Юхновского района Калужской области. Автор и преподаватель дистанционных курсов по основам компьютерной грамотности, офисным программам. Автор статей, видеоуроков и разработок.
Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.
Порядок вывода комментариев:
Содержание
- 1 Видео
- 2 Способ 1. Создаваемые вручную гиперссылки
- 3 Способ 2. Динамическое оглавление с помощью формул
- 4 Способ 3. Макрос
- 5 Ссылки по теме
- 6 Способ 1. Создаваемые вручную гиперссылки
- 7 Способ 2. Динамическое оглавление с помощью формул
- 8 Способ 3. Макрос
- 9 Способ мой. Мой вариант
Если в вашей рабочей книге Excel число листов перевалило за второй десяток, то навигация по листам начинает становится проблемой. Одним из красивых способов ее решения является создание листа-оглавления с гиперссылками, ведущими на соответствующие листы книги:
Есть несколько способов реализовать подобное.
Видео
Способ 1. Создаваемые вручную гиперссылки
Вставьте в книгу пустой лист и добавьте на него гиперссылки на нужные вам листы, используя команду Вставка — Гиперссылка (Insert — Hyperlink). В открывшемся окне нужно выбрать слева опцию Место в документе и задать внешнее текстовое отображение и адрес ячейки, куда приведет ссылка:
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление. Чтобы не заниматься ручным созданием гиперссылок и копированием их потом на каждый лист, лучше использовать другой метод — функцию ГИПЕРССЫЛКА (HYPERLINK). Выделяем все листы в книге, куда хотим добавить обратную ссылку (для массового выделения листов можно использовать клавиши Shift и/или Ctrl) и в любую подходящую ячейку вводим функцию следующего вида:
=ГИПЕРССЫЛКА(«#Оглавление!A1″;»Назад в оглавление»)
Эта функция создаст в текущей ячейке на всех выделенных листах гиперссылку с текстом «Назад в оглавление», щелчок по которой будет возвращать пользователя к листу Оглавление.
Способ 2. Динамическое оглавление с помощью формул
Это хоть и слегка экзотический, но весьма красивый и удобный способ создания автоматического листа оглавления вашей книги. Экзотический – потому что в нем используется недокументированная XLM-функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ (GET.WORKBOOK), оставленная разработчиками для совместимости со старыми версиями Excel. Эта функция выгружает список всех листов текущей книги в заданную переменную, из которой мы потом можем их извлечь и использовать в нашем оглавлении.
Откройте Диспетчер Имен на вкладке Формулы (Formulas – Name Manager) и создайте новый именованный диапазон с именем, допустим, Оглавление. В поле Диапазон (Reference) введите вот такую формулу:
=ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1)
=GET.WORKBOOK(1)
Теперь в переменной Оглавление содержатся наши искомые имена. Чтобы извлечь их оттуда на лист, можно воспользоваться функцией ИНДЕКС (INDEX), которая «выдергивает» элементы из массива по их номеру:
=ИНДЕКС(Оглавление; СТРОКА())
=INDEX(Оглавление; ROW())
Функция СТРОКА (ROW) выдает номер текущей строки и, в данном случае, нужна только для того, чтобы вручную не создавать отдельный столбец с порядковыми номерами извлекаемых элементов (1,2,3…). Таким образом, в ячейке А1 у нас получится имя первого листа, в А2 – имя второго и т.д.
Неплохо. Однако, как можно заметить, функция выдает не только имя листа, но и имя книги, которое нам не нужно. Чтобы его убрать, воспользуемся функциями ЗАМЕНИТЬ (SUBST) и НАЙТИ (FIND), которые найдут символ закрывающей квадратной скобки ( ] ) и заменят весь текст до этого символа включительно на пустую строку («»). Откроем еще раз Диспетчер имен с вкладки Формулы (Formulas — Name Manager), двойным щелчком откроем созданный диапазон Оглавление и изменим его формулу:
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)
=SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)
Теперь наш список листов будет выглядеть существенно лучше:
Небольшая побочная трудность заключается в том, что наша формула в именованном диапазоне Оглавление будет пересчитываться только при вводе, либо при принудительном пересчете книги нажатием на сочетание клавиш Ctrl+Alt+F9. Чтобы обойти этот неприятный момент, добавим к нашей формуле небольшой «хвост»:
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)&Т(ТДАТА())
=SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)&T(NOW())
Функция ТДАТА (NOW) выдает текущую дату (с временем), а функция Т превращает эту дату в пустую текстовую строку, которая затем приклеивается к нашему имени листа с помощью оператора склейки (&). Т.е. имя листа, фактически, не меняется, но поскольку функция ТДАТА пересчитывается и выдает новое время и дату при любом изменении листа, то и остальная часть нашей формулы вынуждена будет заново пересчитаться тоже и – как следствие – имена листов будут обновляться постоянно.
Для скрытия ошибок #ССЫЛКА (#REF), которые будут появляться, если скопировать нашу формулу с функцией ИНДЕКС на большее количество ячеек, чем у нас есть листов, можно использовать функцию ЕСЛИОШИБКА (IFERROR), которая перехватывает любые ошибки и заменяет их на пустую строку («»):
И, наконец, для добавления к именам листов «живых» гиперссылок для быстрой навигации, можно использовать все ту же функцию ГИПЕРССЫЛКА (HYPERLINK), которая будет формировать адрес для перехода из имени листа:
Способ 3. Макрос
И, наконец, для создания оглавления можно использовать и несложный макрос. Правда, запускать его придется каждый раз при изменении структуры книги — в отличие от Способа 2, макрос их сам не отслеживает.
Откройте редактор Visual Basic, нажав Alt+F11 или выбрав (в старых версиях Excel) в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor). В открывшемся окне редактора создайте новый пустой модуль (меню Insert — Module) и скопируйте туда текст этого макроса:
Sub SheetList() 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
Закройте редактор Visual Basic и вернитесь в Excel. Добавьте в книгу чистый лист и поместите его на первое место. Затем нажмите Alt+F8 или откройте меню Сервис — Макрос — Макросы (Tools — Macro — Macros). Найдите там созданный макрос SheetList и запустите его на выполнение. Макрос создаст на первом листе книги список гиперссылок с названиями листов. Щелчок по любой из них переместит Вас на нужный лист.
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление, как это было описано в Способе 1.
Ссылки по теме
- Что такое макрос, как его создать, куда копировать текст макроса, как запустить макрос?
- Автоматическое создание оглавления книги одной кнопкой (надстройка PLEX)
- Отправка писем с помощью функции ГИПЕРССЫЛКА
- Быстрый переход между листами книги Excel
Способ 1. Создаваемые вручную гиперссылки
Вставьте в книгу пустой лист и добавьте на него гиперссылки на нужные вам листы, используя команду Вставка — Гиперссылка (Insert — Hyperlink). В открывшемся окне нужно выбрать слева опцию Место в документе и задать внешнее текстовое отображение и адрес ячейки, куда приведет ссылка:
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление. Чтобы не заниматься ручным созданием гиперссылок и копированием их потом на каждый лист, лучше использовать другой метод — функцию ГИПЕРССЫЛКА (HYPERLINK). Выделяем все листы в книге, куда хотим добавить обратную ссылку (для массового выделения листов можно использовать клавиши Shift и/или Ctrl) и в любую подходящую ячейку вводим функцию следующего вида:
=ГИПЕРССЫЛКА(«#Оглавление!A1″;»Назад в оглавление»)
Эта функция создаст в текущей ячейке на всех выделенных листах гиперссылку с текстом «Назад в оглавление», щелчок по которой будет возвращать пользователя к листу Оглавление.
Способ 2. Динамическое оглавление с помощью формул
Это хоть и слегка экзотический, но весьма красивый и удобный способ создания автоматического листа оглавления вашей книги. Экзотический – потому что в нем используется недокументированная XLM-функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ (GET.WORKBOOK), оставленная разработчиками для совместимости со старыми версиями Excel. Эта функция выгружает список всех листов текущей книги в заданную переменную, из которой мы потом можем их извлечь и использовать в нашем оглавлении.
Откройте Диспетчер Имен на вкладке Формулы (Formulas – Name Manager) и создайте новый именованный диапазон с именем, допустим, Оглавление. В поле Диапазон (Reference) введите вот такую формулу:
=ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1)
=GET.WORKBOOK(1)
Теперь в переменной Оглавление содержатся наши искомые имена. Чтобы извлечь их оттуда на лист, можно воспользоваться функцией ИНДЕКС (INDEX), которая «выдергивает» элементы из массива по их номеру:
=ИНДЕКС(Оглавление; СТРОКА())
=INDEX(Оглавление; ROW())
Функция СТРОКА (ROW) выдает номер текущей строки и, в данном случае, нужна только для того, чтобы вручную не создавать отдельный столбец с порядковыми номерами извлекаемых элементов (1,2,3…). Таким образом, в ячейке А1 у нас получится имя первого листа, в А2 – имя второго и т.д.
Неплохо. Однако, как можно заметить, функция выдает не только имя листа, но и имя книги, которое нам не нужно. Чтобы его убрать, воспользуемся функциями ЗАМЕНИТЬ (SUBST) и НАЙТИ (FIND), которые найдут символ закрывающей квадратной скобки ( ] ) и заменят весь текст до этого символа включительно на пустую строку («»). Откроем еще раз Диспетчер имен с вкладки Формулы (Formulas — Name Manager), двойным щелчком откроем созданный диапазон Оглавление и изменим его формулу:
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)
=SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)
Теперь наш список листов будет выглядеть существенно лучше:
Небольшая побочная трудность заключается в том, что наша формула в именованном диапазоне Оглавление будет пересчитываться только при вводе, либо при принудительном пересчете книги нажатием на сочетание клавиш Ctrl+Alt+F9. Чтобы обойти этот неприятный момент, добавим к нашей формуле небольшой «хвост»:
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)&Т(ТДАТА()) =SUBST(GET.WORKBOOK(1);1;FIND(«]»;GET.WORKBOOK(1));»»)&T(NOW())
Функция ТДАТА (NOW) выдает текущую дату (с временем), а функция Т превращает эту дату в пустую текстовую строку, которая затем приклеивается к нашему имени листа с помощью оператора склейки (&). Т.е. имя листа, фактически, не меняется, но поскольку функция ТДАТА пересчитывается и выдает новое время и дату при любом изменении листа, то и остальная часть нашей формулы вынуждена будет заново пересчитаться тоже и – как следствие – имена листов будут обновляться постоянно.
Для скрытия ошибок #ССЫЛКА (#REF), которые будут появляться, если скопировать нашу формулу с функцией ИНДЕКС на большее количество ячеек, чем у нас есть листов, можно использовать функцию ЕСЛИОШИБКА (IFERROR), которая перехватывает любые ошибки и заменяет их на пустую строку («»):
И, наконец, для добавления к именам листов «живых» гиперссылок для быстрой навигации, можно использовать все ту же функцию ГИПЕРССЫЛКА(HYPERLINK), которая будет формировать адрес для перехода из имени листа:
Способ 3. Макрос
И, наконец, для создания оглавления можно использовать и несложный макрос. Правда, запускать его придется каждый раз при изменении структуры книги — в отличие от Способа 2, макрос их сам не отслеживает.
Откройте редактор Visual Basic, нажав Alt+F11 или выбрав (в старых версиях Excel) в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor). В открывшемся окне редактора создайте новый пустой модуль (меню Insert — Module) и скопируйте туда текст этого макроса:
Sub SheetList()
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 Закройте редактор Visual Basic и вернитесь в Excel. Добавьте в книгу чистый лист и поместите его на первое место. Затем нажмите Alt+F8 или откройте менюСервис — Макрос — Макросы (Tools — Macro — Macros). Найдите там созданный макрос SheetList и запустите его на выполнение. Макрос создаст на первом листе книги список гиперссылок с названиями листов. Щелчок по любой из них переместит Вас на нужный лист.
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление, как это было описано в Способе 1.
Способ мой. Мой вариант
т Название листа — =ЕСЛИОШИБКА(ЗАМЕНИТЬ(ИНДЕКС(Оглавление;СТРОКА()-3);1;НАЙТИ(«]»;ИНДЕКС(Оглавление;СТРОКА()-3));»»);»»)
Ссылка — =ГИПЕРССЫЛКА(«#»&»‘»&B4&»‘»&»!A10″;»»)
Дата — =ЕСЛИОШИБКА(ЕСЛИ(ДВССЫЛ(«‘»&B4&»‘»&»!A1″)=0;»»;ДВССЫЛ(«‘»&B4&»‘»&»!A1″));»»)
Наименование — =ДВССЫЛ(«‘»&B4&»‘»&»!A3″)
ЗП — =ДВССЫЛ(«‘»&B4&»‘»&»!E5″)
налог на ЗП — =ДВССЫЛ(«‘»&B4&»‘»&»!E6″)
амортизация — =ДВССЫЛ(«‘»&B4&»‘»&»!E7″)
материалы — =ДВССЫЛ(«‘»&B4&»‘»&»!E8″)
всп материалы — =ДВССЫЛ(«‘»&B4&»‘»&»!E9″)
и далее по столбцам
=ДВССЫЛ(«‘»&B4&»‘»&»!E10″)
=ДВССЫЛ(«‘»&B4&»‘»&»!E11″)=ДВССЫЛ(«‘»&B4&»‘»&»!E12″)=ДВССЫЛ(«‘»&B4&»‘»&»!E13″)=ДВССЫЛ(«‘»&B4&»‘»&»!E18″)=ДВССЫЛ(«‘»&B4&»‘»&»!E19″)
Как сделать оглавление в Excel
Описание проблемы
Когда количество листов в книге становится более 10-15 штук, то начинаются трудности с навигацией.
И хорошо, когда листы можно расположить по алфавиту. Но что делать, когда сортировать листы нельзя?
Создание оглавление с помощью надстройки
Надстройка VBA-Excel содержит диспетчер листов в котором расположена команда Создать оглавление книги.
Для того чтобы создать оглавление:
- Откройте вкладку меню VBA-Excel
- Откройте меню Диспетчеры и выберите Диспетчер листов
- Выберите команду Оглавление, нажав по ней левой кнопкой мыши.
- В книге появится лист Оглавление, который будет выглядеть так, как показано на рисунке. Наименование листов в оглавление содержат гиперссылки, для быстрого перехода к нужному листу.
Внимание! Если в файле уже имеется лист Оглавление, макрос его удалит и создаст новое оглавление.
Оглавление книги на основе гиперссылок в MS EXCEL
Создадим оглавление Книги с помощью функции ГИПЕРССЫЛКА() .
Пусть в книге имеется несколько листов: к103, к104, к105, . (например перечень комнат). Составим оглавление, позволяющее быстро перемещаться по листам книги (см. файл примера ).
Создадим в столбце А перечень названий листов книги. В ячейке В9 запишем формулу:
= ГИПЕРССЫЛКА(«[«&$B$6&»]»&A9&»!A1″;»Нажмите ссылку, чтобы перейти на Лист «&A9&», в ячейку А1″)
в ячейке В6 содержится имя текущей книги (подробнее читайте в статье Извлечение имени файла). В случае, если книга будет переименована, оглавление продолжит работать.
Если книгу не планируется переименовывать, то имя книги можно указать в текстовой форме:
=ГИПЕРССЫЛКА(«[_Оглавление_с_гиперссылками.xlsx]к103!A1»;»Нажмите ссылку, чтобы перейти на Лист «&A9&», в ячейку А1″)
При нажатии гиперссылки MS EXCEL перейдет в окно соответствующего листа.
Для обратного перехода к оглавлению можно создать ссылку с помощью стандартного механизма гиперссылок, нажав CTRL+K или через меню Вставка/ Связи/ Гиперссылка (после вызова окна Вставка гиперссылки выберите Связать с: местом в документе).
Примечание: Ссылки, созданные с использованием стандартного механизма гиперссылок перестают работать при переименовании листов.
Оглавление книги Excel
Если в вашей рабочей книге Excel число листов перевалило за второй десяток, то навигация по листам начинает становится проблемой. Одним из красивых способов ее решения является создание листа-оглавления с гиперссылками, ведущими на соответствующие листы книги:
Есть несколько способов реализовать подобное.
Способ 1. Создаваемые вручную гиперссылки
Вставьте в книгу пустой лист и добавьте на него гиперссылки на нужные вам листы, используя команду Вставка — Гиперссылка (Insert — Hyperlink) . В открывшемся окне нужно выбрать слева опцию Место в документе и задать внешнее текстовое отображение и адрес ячейки, куда приведет ссылка:
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление. Чтобы не заниматься ручным созданием гиперссылок и копированием их потом на каждый лист, лучше использовать другой метод — функцию ГИПЕРССЫЛКА (HYPERLINK) . Выделяем все листы в книге, куда хотим добавить обратную ссылку (для массового выделения листов можно использовать клавиши Shift и/или Ctrl) и в любую подходящую ячейку вводим функцию следующего вида:
=ГИПЕРССЫЛКА(«#Оглавление!A1″;»Назад в оглавление»)
Эта функция создаст в текущей ячейке на всех выделенных листах гиперссылку с текстом «Назад в оглавление», щелчок по которой будет возвращать пользователя к листу Оглавление.
Способ 2. Динамическое оглавление с помощью формул
Это хоть и слегка экзотический, но весьма красивый и удобный способ создания автоматического листа оглавления вашей книги. Экзотический – потому что в нем используется недокументированная XLM-функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ (GET.WORKBOOK) , оставленная разработчиками для совместимости со старыми версиями Excel. Эта функция выгружает список всех листов текущей книги в заданную переменную, из которой мы потом можем их извлечь и использовать в нашем оглавлении.
Откройте Диспетчер Имен на вкладке Формулы (Formulas – Name Manager) и создайте новый именованный диапазон с именем, допустим, Оглавление. В поле Диапазон (Reference) введите вот такую формулу:
Теперь в переменной Оглавление содержатся наши искомые имена. Чтобы извлечь их оттуда на лист, можно воспользоваться функцией ИНДЕКС (INDEX) , которая «выдергивает» элементы из массива по их номеру:
=ИНДЕКС(Оглавление; СТРОКА())
=INDEX(Оглавление; ROW())
Функция СТРОКА (ROW) выдает номер текущей строки и, в данном случае, нужна только для того, чтобы вручную не создавать отдельный столбец с порядковыми номерами извлекаемых элементов (1,2,3…). Таким образом, в ячейке А1 у нас получится имя первого листа, в А2 – имя второго и т.д.
Неплохо. Однако, как можно заметить, функция выдает не только имя листа, но и имя книги, которое нам не нужно. Чтобы его убрать, воспользуемся функциями ЗАМЕНИТЬ (SUBST) и НАЙТИ (FIND) , которые найдут символ закрывающей квадратной скобки ( ] ) и заменят весь текст до этого символа включительно на пустую строку («»). Откроем еще раз Диспетчер имен с вкладки Формулы (Formulas — Name Manager) , двойным щелчком откроем созданный диапазон Оглавление и изменим его формулу:
Теперь наш список листов будет выглядеть существенно лучше:
Небольшая побочная трудность заключается в том, что наша формула в именованном диапазоне Оглавление будет пересчитываться только при вводе, либо при принудительном пересчете книги нажатием на сочетание клавиш Ctrl+Alt+F9. Чтобы обойти этот неприятный момент, добавим к нашей формуле небольшой «хвост»:
Функция ТДАТА (NOW) выдает текущую дату (с временем), а функция Т превращает эту дату в пустую текстовую строку, которая затем приклеивается к нашему имени листа с помощью оператора склейки (&). Т.е. имя листа, фактически, не меняется, но поскольку функция ТДАТА пересчитывается и выдает новое время и дату при любом изменении листа, то и остальная часть нашей формулы вынуждена будет заново пересчитаться тоже и – как следствие – имена листов будут обновляться постоянно.
Для скрытия ошибок #ССЫЛКА (#REF) , которые будут появляться, если скопировать нашу формулу с функцией ИНДЕКС на большее количество ячеек, чем у нас есть листов, можно использовать функцию ЕСЛИОШИБКА (IFERROR) , которая перехватывает любые ошибки и заменяет их на пустую строку («»):
И, наконец, для добавления к именам листов «живых» гиперссылок для быстрой навигации, можно использовать все ту же функцию ГИПЕРССЫЛКА (HYPERLINK) , которая будет формировать адрес для перехода из имени листа:
Способ 3. Макрос
И, наконец, для создания оглавления можно использовать и несложный макрос. Правда, запускать его придется каждый раз при изменении структуры книги — в отличие от Способа 2, макрос их сам не отслеживает.
Откройте редактор Visual Basic, нажав Alt+F11 или выбрав (в старых версиях Excel) в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor) . В открывшемся окне редактора создайте новый пустой модуль (меню Insert — Module) и скопируйте туда текст этого макроса:
Закройте редактор Visual Basic и вернитесь в Excel. Добавьте в книгу чистый лист и поместите его на первое место. Затем нажмите Alt+F8 или откройте меню Сервис — Макрос — Макросы (Tools — Macro — Macros) . Найдите там созданный макрос SheetList и запустите его на выполнение. Макрос создаст на первом листе книги список гиперссылок с названиями листов. Щелчок по любой из них переместит Вас на нужный лист.
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление, как это было описано в Способе 1.
Как сделать оглавление, гиперссылки и кнопки в Excel
Если книга Excel содержит такое количество листов, что их названия не помещаются внизу листа, сложно переключаться между листами. Конечно, можно использовать кнопки перехода между листами или список листов, который появляется при нажатии правой кнопкой мыши на кнопки перехода (активный лист при этом отмечен галочкой). Но мы можно использовать и другой способ переключения между листами — добавление в книгу оглавления.
Создание списка листов
В самом начале книги добавим еще один лист. Для этого щелкнем правой кнопкой мыши по листу 1 и выберем Вставить.
Переименуем новый лист в Оглавление.
Увеличим ширину столбца А листа Оглавление, чтобы можно было в нем разместить список листов.
В каждую ячейку введем текст: заголовок Оглавление и список листов книги.
Создание гиперссылок для перехода к листам книги
Выделим ячейку А2, в которую введено название первого листа, щелкнем по ней правой кнопкой мыши и в контекстном меню выберем Гиперссылка.
Появится диалоговое окно Вставка гиперссылки. Нам нужно выбрать, с чем связать гиперссылку: Связать с местом в документе. Укажем адрес ячейки, к которой мы перейдем по гиперссылке, в данном случае A1, и выберем место: лист Теоретический материал. Можно ввести текст подсказки, которая будет появляться при наведении указателя мыши на ячейку с гиперссылкой. В качестве подсказки введем текст Лист 1. После выбора параметров нажимаем ОК.
Нажмите для увеличения
Текст в ячейке изменил свой внешний вид. Это означает, что для него создана гиперссылка. При наведении указателя мыши на него появляется подсказка Лист 1.
Точно так же настроим гиперссылки на другие листы книги. Обратим внимание, что гиперссылка, по которой осуществлялся переход, меняет свой цвет.
Как изменить цвет гиперссылки в Excel?
Если синий и фиолетовый цвета гиперссылок нас не устраивают, можно выбрать свои цвета. Для этого на вкладке Разметка страницы выберем Цвета — Создать новые цвета темы.
Выберем цвета гиперссылки и просмотренной гиперссылки и нажмем Сохранить.
Гиперссылки изменили цвет.
Как создать кнопку на листе в Excel?
Рассмотрим создание кнопки в ячейках. Для примера, создадим кнопку Оглавление, при щелчке на которой будет открываться первый лист из нашего примера.
Шаг 1. Перейдем на лист Теоретический материал. Выберем Вставка — Фигуры, выберем любую фигуру для создания гиперссылки. Напечатаем текст внутри фигуры — Оглавление. Таким образом мы нарисовали кнопку.
Шаг 2. Выделим фигуру, щелкнем по ней правой кнопкой мыши и выберем Гиперссылка.
Укажем параметры гиперссылки: Связать с местом в документе, перейти на лист Оглавление в ячейку А1. Можно создать подсказку, которая будет появляться при наведении указателя мыши на фигуру. Нажимаем ОК. Гиперссылка для перехода к листу Оглавление создана.
Аналогично можно создать кнопки-гиперссылки на других листах книги.
Кратко об авторе:
Шамарина Татьяна Николаевна — учитель физики, информатики и ИКТ, МКОУ «СОШ», с. Саволенка Юхновского района Калужской области. Автор и преподаватель дистанционных курсов по основам компьютерной грамотности, офисным программам. Автор статей, видеоуроков и разработок.
Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.
Есть мнение?
Оставьте комментарий
Понравился материал?
Хотите прочитать позже?
Сохраните на своей стене и
поделитесь с друзьями
Вы можете разместить на своём сайте анонс статьи со ссылкой на её полный текст
Ошибка в тексте? Мы очень сожалеем,
что допустили ее. Пожалуйста, выделите ее
и нажмите на клавиатуре CTRL + ENTER.
Кстати, такая возможность есть
на всех страницах нашего сайта
2007-2019 «Педагогическое сообщество Екатерины Пашковой — PEDSOVET.SU».
12+ Свидетельство о регистрации СМИ: Эл №ФС77-41726 от 20.08.2010 г. Выдано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций.
Адрес редакции: 603111, г. Нижний Новгород, ул. Раевского 15-45
Адрес учредителя: 603111, г. Нижний Новгород, ул. Раевского 15-45
Учредитель, главный редактор: Пашкова Екатерина Ивановна
Контакты: +7-920-0-777-397, info@pedsovet.su
Домен: http://pedsovet.su/
Копирование материалов сайта строго запрещено, регулярно отслеживается и преследуется по закону.
Отправляя материал на сайт, автор безвозмездно, без требования авторского вознаграждения, передает редакции права на использование материалов в коммерческих или некоммерческих целях, в частности, право на воспроизведение, публичный показ, перевод и переработку произведения, доведение до всеобщего сведения — в соотв. с ГК РФ. (ст. 1270 и др.). См. также Правила публикации конкретного типа материала. Мнение редакции может не совпадать с точкой зрения авторов.
Для подтверждения подлинности выданных сайтом документов сделайте запрос в редакцию.
сервис вебинаров
О работе с сайтом
Мы используем cookie.
Публикуя материалы на сайте (комментарии, статьи, разработки и др.), пользователи берут на себя всю ответственность за содержание материалов и разрешение любых спорных вопросов с третьми лицами.
При этом редакция сайта готова оказывать всяческую поддержку как в публикации, так и других вопросах.
Если вы обнаружили, что на нашем сайте незаконно используются материалы, сообщите администратору — материалы будут удалены.
Оглавление книги в EXCEL
Когда количество листов в вашей книге растёт и навигация по ней становиться проблематичной, предлагаю создать лист оглавление книги, с ссылками на нужные листы .
вставьте в книгу пустой лист
перейдите на вкладку Вставка → Гиперссылка
в окне «Вставка гиперссылки» выбираем с чем связать гиперссылку: «Связать с местом в документе». Адрес ячейки — в какую именно ячейку листа будет перемещён курсор. и выбираем место лист Сингапур. В поле «Текст» — указываем название листа. После выбора параметров нажимаем ОК.
Текст в ячейке изменил свой внешний вид. Это означает, что для него создана гиперссылка . Точно так же настроим гиперссылки на другие листы книги. Обратим внимание, что гиперссылка, по которой осуществлялся переход, меняет свой цвет.
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление. Чтобы не заниматься ручным созданием гиперссылок и копированием их потом на каждый лист, лучше использовать другой метод — функцию ГИПЕРССЫЛКА.
Выделяем все листы в книге, куда хотим добавить обратную ссылку (для массового выделения листов нужно удерживая клавишу Ctrl выделить с помощью мыши нужные листы), и в любую подходящую ячейку вводим функцию следующего вида:
=ГИПЕРССЫЛКА(«#Оглавление!A1″;»Назад в оглавление»)
Эта функция создаст в текущей ячейке на всех выделенных листах гиперссылку с текстом «Назад в оглавление», щелчок по которой будет возвращать пользователя к листу Оглавление.
Как создать кнопку на меню:
Чтобы сделать меню более приятным визуально — добавим кнопки
для начала создадим фигуру будущей кнопки: Вставка → Фигуры → Выбираем любую фигуру:
Напечатаем текст внутри фигуры. Таким образом мы нарисовали кнопку.
Выделим фигуру → переходим на вкладку Вставка → Гиперссылка. Далее назначаем ей параметры как в первом пункте, и нажимаем ОК. Аналогично можно создать другие кнопки-гиперссылки и на различных листах книги. И добавить немного творчества с помощью меню «ФОРМАТ»
В книге Excel может быть много листов, например, книга является сводной ведомостью по годовой зарплате предприятия. На предыдущем уроке мы узнали, что такое навигация по книге. Но при большом количестве листов такой навигации недостаточно. Поэтому рано или поздно может встать вопрос об улучшении навигации по книге, то есть возникнет необходимость сделать такую вещь, как создание содержания.
Скачайте фал тут и откройте его. Это упрощенная версия ведомости по заработной плате за несколько месяцев мифического предприятия. Листов всего 4, но в реальности будет больше.
По окончании этого урока вы сможете:
- Сделать ссылку на рабочий лист книги
- Работать со специальной вставкой из буфера обмена
1. Создание ссылки на рабочий лист книги
Шаг 1. Создаем новый лист в самом начале книги (активизируем первый лист «Зарплата за март» → лента Главная → группа команд Ячейки → команда Вставить → команда Вставить лист):
Шаг 2. Переименовываем лист «Содержание» (ПМ по ярлычку → команда Переименовать из контекстного меню → имя листа):
Шаг 3. Вводим в ячейки название всех листов:
Шаг 4. Делаем ссылки на каждый лист книги (ПМ по ячейке с названием листа → команда Ссылка):
Шаг 5. Нажимаем в открывшемся диалоговом окне кнопку «Место в документе» и выбираем название соответствующего листа:
Повторяем Шаг 5 для каждой ячейки с именем листа:
Шаг 6. Выбираем на листе «Зарплата за март» ячейку, которая будет служить возвратом на содержание и создаем ссылку на лист «Содержание»:
Изменяем размер ячейки, чтобы все содержимое грамотно расположилось на месте.
Шаг 7. Копируем ячейку в буфер обмена (можно Ctrl+V) и вставляем на лист «Зарплата за апрель:
И получаем неприятность в виде слишком узкой ячейки. Конечно, можно поиграть с изменением ширины ячейки. Но в этой книге листов всего 5, а если листов будет 20?
2. Специальная вставка из буфера обмена
Шаг 1. Воспользуемся специальной вставкой из буфера обмена (лента Главная → группа команд Буфер обмена → кнопка выпадающего меню Специальная вставка):
Шаг 2. Повторяем специальную вставку из буфера обмена для других листов.
Теперь мы получили возможность навигации по документу:
Должным образом оформление содержание производит впечатление на начальства, да и нам удобно.
Теперь вы можете:
- Сделать ссылку на рабочий лист книги
- Работать со специальной вставкой из буфера обмена
Данная команда создает в активной рабочей книге новый лист со ссылками на все листы книги (кроме листов с диаграммами):
Чтобы воспользоваться данной командой перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Книга» и выберите команду «Создать оглавление книги».
В диалоговом окне введите название листа (или оставьте без изменения предлагаемый вариант), который будет создан, и в котором будут содержаться ссылки, если необходимо — отметьте галочкой пункт «Включить в оглавление скрытые листы?» и нажмите кнопку «ОК».
Оглавление будет создано.
Для отмены операции нажмите кнопку отмены.
Добавить комментарий
Skip to content
Как создать оглавление
На чтение 4 мин. Просмотров 3k.
Что делает макрос: Создать оглавление книги — наиболее запрашиваемый макрос Excel.
Нам часто приходится работать с файлами, которые имеют много вкладок. Таблица содержания определенно помогает.
Следующий макрос не только создает список имен рабочих таблиц в книге, но он также показывает гиперссылки, так что вы можете легко перейти к листу с простым нажатием кнопки.
Содержание
- Как макрос работает
- Код макроса
- Как этот код работает
- Как использовать
Как макрос работает
На первый взгляд данный макрос выглядит сложным. Тем не менее, рассмотрим несколько простых действий, как это происходит
- Удаляет любую предыдущую таблицу Содержание листа
- Создает новую таблицу Содержание листа
- Захватывает имя каждого листа и вставляет его в оглавлении
- Добавляет гиперссылку к каждой записи в оглавлении
Код макроса
Sub SozdatOglavlenie() 'Шаг 1: Объявить переменные Dim i As Long 'Шаг 2: Удалить предыдущий лист с названием Оглавление и перейти к 'следующему On Error Resume Next Application.DisplayAlerts = False Sheets("Table Of Contents").Delete Application.DisplayAlerts = True On Error GoTo 0 'Шаг 3: Добавить новый лист в качестве первого ThisWorkbook.Sheets.Add _ Before:=ThisWorkbook.Worksheets(1) ActiveSheet.Name = "Оглавление" 'Шаг 4: Запустить счетчик For i = 1 To Sheets.Count 'Шаг 5: Выбрать следующую доступную строку ActiveSheet.Cells(i, 1).Select 'Шаг 6: Добавить имя листа и гиперссылку ActiveSheet.Hyperlinks.Add _ Anchor:=ActiveSheet.Cells(i, 1), _ Address:="", _ SubAddress:="'" & Sheets(i).Name & "'!A1", _ TextToDisplay:=Sheets(i).Name 'Шаг 7: Цикл назад приращение I Next i End Sub
Как этот код работает
- Шаг 1 объявляет целую переменную с именем I, чтобы служить в качестве счетчика, который перебирает листы.
- В предыдущих макросах переменная выбирала каждый рабочий лист. В этой процедуре мы используем счетчик (наша переменная I). Основная причина в том, что мы не только должны следить за листами, но мы также должны суметь ввести имя каждого листа на новую строку в таблицу оглавления. Идея заключается в том, что, как счетчик проходит через листы, он также служит для перемещения курсора вниз в таблице содержания, каждая новая запись идет на новую строку.
- Шаг 2, по существу пытается удалить любой предыдущий лист под названием «Оглавление». Шаг 2 должен начаться с On Error Resume Next — обработчика ошибок. Если возникает ошибка — происходит удаление оглавления листа с использованием метода DisplayAlerts. Наконец, мы сбрасываем обработчик ошибок, снова введя On Error GoTo 0.
- На шаге 3 добавляем новый лист в книгу, используя аргумент, чтобы поместить новый лист в качестве первого листа. Затем именуется лист как «Оглавление». Как мы уже упоминали ранее в этой части, при добавлении нового рабочего листа, то он автоматически становится активным. Поскольку этот новый лист имеет фокус на протяжении всей процедуры, любые ссылки на ActiveSheet в этом коде, обращаются к таблице содержания листа.
- Шаг 4 запускает счетчик I и происходит подсчет всех листов в книге. Когда будет достигнуто максимальное количество листов, конец макрокоманды.
- Шаг 5 выбирает соответствующую строку в таблице содержания листа. То есть, если счетчик на 1, он выбирает первую строку в таблице содержания листа. Если счетчик I находится в 2, она выбирает вторую строку, и так далее.
- Мы можем сделать это с помощью пункта меню Cells. Элемент
Cells обеспечивает чрезвычайно удобный способ выбора диапазонов с помощью кода. Для этого требуется только относительные строки и столбца позиции в качестве параметров. Таким образом, клетки (1,1) приводит к строке 1, столбец 1 (или ячейку A1). Ячейка (5, 3) приводит к 5-й строке, столбце 3 (или ячейка C5). Числовые параметры в пункте ячейки особенно удобны, когда вы хотите, чтобы цикл шел через серию строк или столбцов, используя увеличивающееся номер индекса. - Шаг 6 использует метод Hyperlinks.Add, чтобы добавить имя листа и гиперссылки к выбранной ячейке. Параметры методом Hyperlinks.Add необходимы для построения гиперссылок.
- Последний шаг в макросе возвращает к началу цикла приращения счетчика I к следующему. Когда счетчик достигает числа I конец макрокоманд.
Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
- Активируйте редактор Visual Basic, нажав ALT + F11.
- Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
- Выберите Insert➜Module.
- Введите или вставьте код во вновь созданном модуле.