На чтение 5 мин Опубликовано 26.01.2021
Листам в книгах Excel можно дать имена, соответствующие содержимому. Из них было бы удобно составить оглавление, но не все знают, как это сделать. Существуют несложные способы сформировать список листов и методы, требующие усилий, например установки сторонних дополнений. С помощью инструментов Excel пользователи также могут подсчитать количество листов в крупной книге. Выясним, как получить оглавление для чтения или перехода к каждому листу, какими формулами для этого нужно воспользоваться.
Содержание
- Список листов с помощью формулы
- Как составить список листов через VBA
- Надстройки для составления списка листов
- Как подсчитать количество листов в книге
Список листов с помощью формулы
Этот способ основан на использовании функции, которую нельзя найти в Менеджере. Она связана с макросами Excel 4.0. Чтобы применить формулу на практике, необходимо пройти дополнительный шаг, редко встречающийся в работе с функциями – зайти в диспетчер имен и добавить туда выражение.
- Переходим на вкладку «Формулы» и кликаем по кнопке «Диспетчер имен». Опция находится в разделе «Определенные имена».
- Нажимаем «Создать» в открывшемся диалоговом окне.
- Записываем новое имя в верхнем поле, выбираем область «Книга» (обычно она установлена по умолчанию) и записываем в графу «Диапазон» эту формулу: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1; НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)
- После заполнения всех полей жмем «ОК». В книге Excel пока ничего не изменится, но эти шаги помогут в будущем. Окно диспетчера имен можно закрыть.
- Открываем лист, где будет расположен список. Выбираем ячейку и записываем в ней формулу с только что созданным именем: =ИНДЕКС(Список_листов;СТРОКА()). Нажмите Enter, и в ячейке появится название первого листа.
- Необходимо вывести все названия листов в столбец. Для этого зажимаем маркер заполнения, который находится в правом нижнем углу выбранной ячейки, и выделяем нужное количество ячеек. В таблице-примере 4 листа столько и было выделено ячеек.
- Создадим список, из которого можно перейти на каждый лист. Выберите другую пустую ячейку и вставьте эту формулу: =ГИПЕРССЫЛКА(«#»&A1&»!A1″;»»&A1).
Обратите внимание! Ячейка A1 прописывается в формуле, чтобы пользователи могли перейти на конкретную ячейку каждого листа. После нажатия Enter появится кликабельное название листа.
- Полный список с гиперссылками можно создать так же, с помощью маркера заполнения.
- Если название листа изменено, придется перезаполнить списки – для этого нужно просто удалить их, снова вставить те же формулы и выделить ячейки ниже.
Важно! Невозможно сделать ссылку на лист с диаграммой в Excel. На экране появляется сообщение об ошибке, переход не происходит.
Как составить список листов через VBA
Существует другой способ составления списка листов из книги – можно подключить пользовательскую функцию через редактор Visual Basic. Такой метод может показаться сложным, но это не так, если воспользоваться шаблоном для добавления функции в программу.
- Открываем VBA с помощью комбинации клавиш «Alt+F11». Если при нажатии F11 снижается яркость или срабатывает другая функция, установленная на эту кнопку, зажмите клавишу Fn.
- Нажмите «Вставить» (Insert) на верхней панели и выберите в открывшемся меню пункт «Модуль» (Module).
- Вставляем в свободное поле этот текст:
Function SheetList(N As Integer)
SheetList = ActiveWorkbook.Worksheets(N).Name
End Function
- Далее можно закрыть окно Visual Basic, потому что этот инструмент больше не понадобится, а функция уже добавлена в программу.
- Открываем лист для списка и вводим формулу в начальную ячейку. Теперь не нужно длинное выражение, чтобы создать список листов. Новая формула выглядит так: =SheetList(СТРОКА()).
- Нажимаем Enter и получаем название листа в ячейке. Маркером заполнения создаем список.
- Для гиперссылок придется использовать ту же длинную формулу: =ГИПЕРССЫЛКА(«#»&A1&»!A1″;»»&A1).
Надстройки для составления списка листов
Надстройки – это дополнения для Microsoft Excel, которые создаются продвинутыми пользователями. Компания Microsoft рассказывает на официальном сайте о возможности подключить надстройки, но не предлагает скачать дополнения, поэтому обычно их загружают из других источников.
Всегда проверяйте загрузки на вредоносные элементы с помощью антивирусной программы.
Существуют платные и бесплатные надстройки. Сегодня рассмотрим набор дополнений для Excel 2007-2019 под названием «Ёxcel». Разработчик распространяет файл на своем сайте за добровольное пожертвование. Установите надстройку по инструкции – после этого можно приступать к составлению списка.
- Открываем лист, где будет размещен список, и нажимаем левой кнопкой мыши на начальную ячейку будущего перечисления.
- На вкладке надстройки находим кнопку «Листы». Кликаем по ней, чтобы открылось меню, и выбираем пункт «Получить список листов книги». Скриншот создателя надстройки:
- Выбираем, какие листы показать в списке. Для простейшего перечисления названий листов кликаем по пункту «Простой список» и жмем на кнопку с галочкой в левом нижнем углу диалогового окна.
- На экране появится список листов. Если выставить настройки сложнее, то внешний вид списка немного изменится.
Как подсчитать количество листов в книге
Иногда в книгах Excel появляется много листов, например если документ относится к крупному проекту. Выяснить, сколько в файле страниц, можно с помощью функции ЛИСТЫ.
Обратите внимание! Функция работает только в версиях Microsoft Excel от 2013.
- Выбираем пустую ячейку и записываем в ней формулу: =ЛИСТЫ(). Не обязательно заполнять аргумент «Ссылка», если нужно посчитать листы в одной книге.
- Жмем Enter и получаем числовое значение.
Если все листы переименованы, и нужно узнать их номера, воспользуйтесь функцией ЛИСТ. Эта формула также доступна с 2013-й версии. У функции ЛИСТ один аргумент – «Значение». Если аргумент не заполнен, после нажатия клавиши Enter в ячейке появится номер того же листа, где была введена формула. Простое выражение с ЛИСТ выглядит так: =ЛИСТ().
Оцените качество статьи. Нам важно ваше мнение:
Странно, но в Excel невозможно напрямую сгенерировать список имен листов из книги. В этой статье будет рассказано, как создать список всех листов, содержащихся в книге. Как и в предыдущей статье, здесь мы будем использовать макрофункцию из Excel 4 XLM в именованной формуле.
Начнем с книги, в которой много рабочих листов или листов с диаграммами. Выполните следующие действия, чтобы создать список названий листов.
- Вставьте новый лист, на котором будет находиться список.
- Выполните команду Формулы ► Присвоить имя, чтобы открыть диалоговое окно Создание имени.
- Впишите в поле Имя название Список.
- Введите следующую формулу в поле Диапазон (рис. 9.1):
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"")
. - Осталось нажать ОК, чтобы закрыть диалоговое окно Создание имени.
Рис. 9.1. Работа с окном Создание имени для создания именованной формулы
Обратите внимание: в формуле используется функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ, которая не относится к числу стандартных функций рабочего листа. Это макрофункция, написанная в сравнительно старом XLM-стиле и предназначенная для применения на специальном листе макросов. При использовании аргумента 1 она возвращает массив имен листов, причем перед именем каждого листа указано название книги, откуда он взят. Функции ЗАМЕНИТЬ и НАЙТИ удаляют имя книги, сопутствующее названию листа. Чтобы сгенерировать имена листов, введите в ячейку А1 следующую формулу, а затем скопируйте ее ниже по столбцу: =ИНДЕКС(Список;СТРОКА())
.
На рис. 9.2 приведена данная формула для диапазона А1:А10. В книге семь листов, поэтому формула возвращает ошибку #ССЫЛКА! при попытке отобразить имя несуществующего листа. Чтобы избежать этого, измените формулу следующим образом: =ЕСЛИОШИБКА(ИНДЕКС(Список;СТРОКА());"")
.
Рис. 9.2. Использование формулы для отображения списка имен листов
Список названий листов можно откорректировать, если вы будете добавлять, удалять или переименовывать листы, но это не происходит автоматически. Чтобы принудительно обновить формулы, нажмите Ctrl+Alt+F9. Если вы хотите, чтобы имена листов автоматически обновлялись при пересчете книги, измените именованную формулу следующим образом, чтобы сделать ее меняющейся: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"")&Т(ТДАТА())
.
Рис. 9.3. Создание списка гиперссылок
Зачем может понадобиться список названий листов? На рис. 9.3 показано оглавление, созданное с помощью ссылки ГИПЕРССЫЛКА. В ячейке В1 записана следующая формула: =ГИПЕРССЫЛКА("#"&A1&"!A1";"Перейти по ссылке")
. Щелкнув на гиперссылке, вы активизируете лист и выделяете ячейку А1. К сожалению, Excel не поддерживает гиперссылок, ведущих на лист с диаграммами, поэтому при попытке сослаться на такой лист программа выдаст ошибку.
Если вы пользуетесь такими приемами, то книгу нужно сохранить как файл с поддержкой макросов (в формате *.xlsm или *.xls).
вывести списком все листы, для удобства работы |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Доброго времени суток, уважаемый посетитель!
В этом уроке мы рассмотрим такой интересный вопрос, как скрыть лист в Excel нашей книги. Собственно, для чего всё это делается, а тут смысл только один — это скрыть от других пользователей некую информацию, которая хранится на скрываемом листе. Причин этому может быть много, это и скрыть базу данных, что бы чьи-то корявые пальцы ни нанесли повреждения данных или скрытие промежуточных данных или что-то лишнее, но удалить жалко авось пригодиться, ну или сами придумайте для чего вам нужно «шифронуться».
Итак, если вас зовут Мата Хари или Джеймс Бонд, усаживайтесь поудобнее и внимайте азам тайного и загадочного. Мы рассмотрим 2 варианта скрыть лист в Excel, это:
- С помощью контекстного меню рабочей зоны;
- С помощью редактора Visual Basic.
Рассмотрим все способы пошагово и более детально, для чего и как лучше использовать, какие у них преимущества, приступим:
С помощью контекстного меню рабочей зоны
Это самый простой и доступный способ скрыть лист в Excel, его лучше всего использовать, когда вы ничего ценного не прячете, а только убираете с визуализации лишние листы или те листы, на которых вычисляются промежуточные итоги.
Для того чтобы скрыть лист в Excel или его отобразить вам нужно сделать несколько простых шагов:
1. Вызываете контекстное меню нажатием правой кнопки мыши на том листе который вы хотите скрыть.
2. В вызванном вами меню нужно нажать пункт «Скрыть» и требуемый лист спрячется с глаз долой.
3. Для обратной процедуры отобразить скрытый лист в Excel, вы снова вызываете контекстное меню, нажав на любом ярлыке с названием листа.
4. В контекстном меню выбираете пункт «Показать».
5. В появившемся окне списка выбора скрытых листов, выбираете нужный вам и всё снова становится видимым и доступным.
Заметьте ничего сложного в том, чтобы, скрыть и показать скрытый лист в Excel ничего нет. Поэтому этот способ нужен тому, кто просто хочет убрать лишнюю информацию, а вот для более серьёзного скрыта вам нужен следующий вариант.
С помощью редактора Visual Basic.
Это тот случай, когда пользователь даже не будет подозревать и наличии скрытых листов в книге и практически никакие ухищрения ему не помогут их выявить или даже догадаться об их наличии.
Как же собственно и происходит этот процесс, а ничего сложного в нём нет и вы сами, не зная, Visual Basic сможете элементарно это сделать, а именно сделать все шаги которые я опишу:
- Шаг 1: Открываем, собственно, сам редактор Visual Basic, в котором и будут производиться все изменения. Для пользователей Excel 2003 и ниже, это можно сделать в меню «Сервис» — «Макрос» — «Редактор Visual Basic», а для пользователей выше Excel 2003 запуск при нажатии кнопки «Редактор Visual Basic», перейдя, на вкладку «Разработчик» или просто нажмите «горячую» комбинацию клавиш Alt+F11.
- Шаг 2: Переходим в меню «View» — «Project Explorer», для отображения окна объектов проектов Visual Basic Application (VBA) или просто нажать комбинацию клавиш Ctrl+R (в случае, когда он включён, пропустите этот пункт).
- Шаг 3: Снова заходим в меню «View» — «Properties Window», отображаем свойства окна или на выбранном объекте нажимаем F4.
- Шаг 4: В открывшемся окне свойств «Properties», нужно найти свойство под названием «Visible» и с выпадающегося меню выбрать для него значение «xlSheetVeryHidden».
Вот и всё! Теперь о существовании этого листа нельзя узнать ни с одного источника, кроме редактора Visual Basic и во всех менюхах Excel он перестал отсвечивать. Как говорится, в народе, меньше, знаешь, крепче спишь.
Для, вообще, конкретной надёжности вы можете защитить свой проект VBA, на функциональность — это никак не влияет. А собственно защита устанавливается так:
1. Во включённом «Редакторе Visual Basic» выбираем меню «Tools» — «VBAProject Properties», выбираем вкладку «Protection».
2. Для активации защиты нужно установить галочку для пункта «Lock project for viewing», ну и соответственно для разблокировки вы его снимете.
3. Ну и собственно записываете и удаляете свой пароль в полях «Password» и «Confirm password».
Так же вам может быть интересны статьи о том как скрыть другие элементы Excel: «Учимся как скрыть строки в Excel и как скрыть столбцы в Excel, просто и понятно!» и «Как скрыть в Excel значение ячеек».
Ну вот и всё, в принципе, что я хотел вам рассказать!
Экономика есть искусство удовлетворять безграничные потребности при помощи ограниченных ресурсов. Лоренс Питер
Сегодня я покажу, как заполнить однотипные листы, по шаблону Excel на основе списка.
Переименуем в книге первый лист, это у нас будет список, допустим сотрудников.
Второй лист назовём шаблон, в нем будет находиться таблица, которую сотрудники будут заполнять либо вы будите заполнять для данных сотрудников из списка.
Вот такая будет табличка, потом покажу вам одну формулу в ячейке, как имя листа поместить в ячейку.
Вот список из трех сотрудников, три фамилии они у нас уникальные, отличаются друг от друга это важное условие для работы данного способа заполнения.
Сохраним наш документ как книга Excel с поддержкой макросов с расширением так xlsm, на ленте должен находиться в последнем пункте — пункт Разработчик, если его нет, то в файл, параметры нужно будет в настройках ленты добавить этот пункт, отметьте его галочкой.
В пункте Разработчик, выбираем вкладку Вставить, выбираем кнопку, рисуем кнопку, пока не создаем и не присваиваем никакой макрос. По нажатию кнопки будет формироваться набор листов в книге по списку.
Перейдём на вкладке Разработчик в Visual Basic либо нажмем Alt+F11
, для того чтобы открылся редактор макросов.
Нажмем в меню insert
– module, напишем модуль Sub ListTempl()
, объявим переменную tmpName.
Получим данные нашего списка из листа список в переменную tmpName, объявив диапазон А1:А3. Но если нужно будет больше, то будем менять это значение. Пока в примере оставим так.
Напишем цикл for от 1 до 3, по сколько мы знаем конечное количество записей нашего списка и теперь сделаем копию листа шаблон, создадим новый лист копии листа с шаблоном, шаблон и присвоим имя каждому листу, значение то которое у нас находится в списке. Закончим цикл next i
.
Теперь нажмем правой кнопкой на кнопке, назначить макрос, выберем макрос ListTempl
, OK, сохранить.
Нажмем на кнопку, сформировались три листа с название по списку сотрудников, которые были в списке. И можно будет заполнять или печатать.
Sub ListTempl() Dim tmpName tmpName = Sheets("Шаблон").Range("a1:a3") For i = 1 To 3 Sheets("Шаблон").Copy Before:=Sheets(i) Sheets(i).Name = tmpName(i, 1) Next i End Sub
Вот такой простой код позволяет быстро создать и заполнить книгу листами по определенным данным.
Если нажать на кнопку повторно, то Excel выдаст ошибку, что подобные листы уже используется, надо учитывать этот момент, просто удалите дубли, в этом примере я не буду делать повторную проверку или добавление каких-то случайных значений к имени листов.
Давайте добавим теперь в шапку шаблона формулу, которая будет в ячейку присваивать имя листа, сейчас формула находится на листе с названием шаблон.
Эта формула позволяет получить из значение листа имя листа в ячейку, происходит разбор пути файла до листа.
=ПРОПНАЧ(ПСТР(ЯЧЕЙКА("имяфайла";A1);ПОИСК("]";ЯЧЕЙКА("имяфайла";A1))+1;99))
Давайте допишет для примера как это бывает в таблицах, «Список для », а далее будет фамилия поставляться из названия листа.
Нажмем на кнопку, и как видите, сформировались все листы, и в каждом листе, в этой ячейки у нас будет находиться имя сотрудника.
Ну либо того, что у вас будет находилась в списке, при условии, что эти значения уникальны.
Если же всё-таки вам нужно будет сделать два листа для одной уникальной записи, тут могу предложить следующее.
Изменим в коде диапазон на А4
, так как у нас ещё один пункт добавился и в цикле исправим на четыре.
Sub ListTempl() Dim tmpName tmpName = Sheets("Шаблон").Range("a1:a4") For i = 1 To 4 Sheets("Шаблон").Copy Before:=Sheets(i) Sheets(i).Name = tmpName(i, 1) Next i End Sub
Удалим всё снова и нажмем на кнопку. Опять ошибка, как вариант предлагаю добавить пробел в конце названия дублируемого пункта списка.
В итоге у нас получилось два Ивановых, конечно лучше использовать уникальные значения, тогда этот пример будет достаточно хорошо вам подходить.
Смотрите видео: Листы в Excel из списка по шаблону
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
Получить список листов книги
Доступность | |
---|---|
Скачать ЁXCEL | |
Возможность отмены: |
Данная команда создает новый лист и выводит в данном листе список листов рабочей книги, за исключением созданного листа со списком:
Чтобы воспользоваться данной командой перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Листы» и выберите команду «Получить список листов книги»:
В открывшемся диалоговом окне выберите один из вариантов отображения списка листов и нажмите кнопку «ОК»:
Для отмены операции нажмите кнопку отмены:
Добавить комментарий
Имя
Отправить
JComments