Как вывести список всех листов в книге excel

На чтение 5 мин Опубликовано 26.01.2021

Листам в книгах Excel можно дать имена, соответствующие содержимому. Из них было бы удобно составить оглавление, но не все знают, как это сделать. Существуют несложные способы сформировать список листов и методы, требующие усилий, например установки сторонних дополнений. С помощью инструментов Excel пользователи также могут подсчитать количество листов в крупной книге. Выясним, как получить оглавление для чтения или перехода к каждому листу, какими формулами для этого нужно воспользоваться.

Содержание

  1. Список листов с помощью формулы
  2. Как составить список листов через VBA
  3. Надстройки для составления списка листов
  4. Как подсчитать количество листов в книге

Список листов с помощью формулы

Этот способ основан на использовании функции, которую нельзя найти в Менеджере. Она связана с макросами Excel 4.0. Чтобы применить формулу на практике, необходимо пройти дополнительный шаг, редко встречающийся в работе с функциями – зайти в диспетчер имен и добавить туда выражение.

  1. Переходим на вкладку «Формулы» и кликаем по кнопке «Диспетчер имен». Опция находится в разделе «Определенные имена».

Как получить список листов книги Excel

  1. Нажимаем «Создать» в открывшемся диалоговом окне.

Как получить список листов книги Excel

  1. Записываем новое имя в верхнем поле, выбираем область «Книга» (обычно она установлена по умолчанию) и записываем в графу «Диапазон» эту формулу: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1; НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)
  2. После заполнения всех полей жмем «ОК». В книге Excel пока ничего не изменится, но эти шаги помогут в будущем. Окно диспетчера имен можно закрыть.

Как получить список листов книги Excel

  1. Открываем лист, где будет расположен список. Выбираем ячейку и записываем в ней формулу с только что созданным именем: =ИНДЕКС(Список_листов;СТРОКА()). Нажмите Enter, и в ячейке появится название первого листа.

Как получить список листов книги Excel

  1. Необходимо вывести все названия листов в столбец. Для этого зажимаем маркер заполнения, который находится в правом нижнем углу выбранной ячейки, и выделяем нужное количество ячеек. В таблице-примере 4 листа столько и было выделено ячеек.

Как получить список листов книги Excel

  1. Создадим список, из которого можно перейти на каждый лист. Выберите другую пустую ячейку и вставьте эту формулу: =ГИПЕРССЫЛКА(«#»&A1&»!A1″;»»&A1).

Обратите внимание! Ячейка A1 прописывается в формуле, чтобы пользователи могли перейти на конкретную ячейку каждого листа. После нажатия Enter появится кликабельное название листа.

Как получить список листов книги Excel

  1. Полный список с гиперссылками можно создать так же, с помощью маркера заполнения.
  2. Если название листа изменено, придется перезаполнить списки – для этого нужно просто удалить их, снова вставить те же формулы и выделить ячейки ниже.

Важно! Невозможно сделать ссылку на лист с диаграммой в Excel. На экране появляется сообщение об ошибке, переход не происходит.

Как составить список листов через VBA

Существует другой способ составления списка листов из книги – можно подключить пользовательскую функцию через редактор Visual Basic. Такой метод может показаться сложным, но это не так, если воспользоваться шаблоном для добавления функции в программу.

  1. Открываем VBA с помощью комбинации клавиш «Alt+F11». Если при нажатии F11 снижается яркость или срабатывает другая функция, установленная на эту кнопку, зажмите клавишу Fn.
  2. Нажмите «Вставить» (Insert) на верхней панели и выберите в открывшемся меню пункт «Модуль» (Module).

Как получить список листов книги Excel

  1. Вставляем в свободное поле этот текст:

Function SheetList(N As Integer)

SheetList = ActiveWorkbook.Worksheets(N).Name

End Function

  1. Далее можно закрыть окно Visual Basic, потому что этот инструмент больше не понадобится, а функция уже добавлена в программу.

Как получить список листов книги Excel

  1. Открываем лист для списка и вводим формулу в начальную ячейку. Теперь не нужно длинное выражение, чтобы создать список листов. Новая формула выглядит так: =SheetList(СТРОКА()).
  2. Нажимаем Enter и получаем название листа в ячейке. Маркером заполнения создаем список.

Как получить список листов книги Excel

  1. Для гиперссылок придется использовать ту же длинную формулу: =ГИПЕРССЫЛКА(«#»&A1&»!A1″;»»&A1).

Надстройки для составления списка листов

Надстройки – это дополнения для Microsoft Excel, которые создаются продвинутыми пользователями. Компания Microsoft рассказывает на официальном сайте о возможности подключить надстройки, но не предлагает скачать дополнения, поэтому обычно их загружают из других источников.

Всегда проверяйте загрузки на вредоносные элементы с помощью антивирусной программы.

Существуют платные и бесплатные надстройки. Сегодня рассмотрим набор дополнений для Excel 2007-2019 под названием «Ёxcel». Разработчик распространяет файл на своем сайте за добровольное пожертвование. Установите надстройку по инструкции – после этого можно приступать к составлению списка.

  1. Открываем лист, где будет размещен список, и нажимаем левой кнопкой мыши на начальную ячейку будущего перечисления.
  2. На вкладке надстройки находим кнопку «Листы». Кликаем по ней, чтобы открылось меню, и выбираем пункт «Получить список листов книги». Скриншот создателя надстройки:

Как получить список листов книги Excel

  1. Выбираем, какие листы показать в списке. Для простейшего перечисления названий листов кликаем по пункту «Простой список» и жмем на кнопку с галочкой в левом нижнем углу диалогового окна.
  2. На экране появится список листов. Если выставить настройки сложнее, то внешний вид списка немного изменится.

Как подсчитать количество листов в книге

Иногда в книгах Excel появляется много листов, например если документ относится к крупному проекту. Выяснить, сколько в файле страниц, можно с помощью функции ЛИСТЫ.

Обратите внимание! Функция работает только в версиях Microsoft Excel от 2013.

  1. Выбираем пустую ячейку и записываем в ней формулу: =ЛИСТЫ(). Не обязательно заполнять аргумент «Ссылка», если нужно посчитать листы в одной книге.
  1. Жмем Enter и получаем числовое значение.

Как получить список листов книги Excel

Если все листы переименованы, и нужно узнать их номера, воспользуйтесь функцией ЛИСТ. Эта формула также доступна с 2013-й версии. У функции ЛИСТ один аргумент – «Значение». Если аргумент не заполнен, после нажатия клавиши Enter в ячейке появится номер того же листа, где была введена формула. Простое выражение с ЛИСТ выглядит так: =ЛИСТ().

Оцените качество статьи. Нам важно ваше мнение:

вывести списком все листы, для удобства работы

Гость

Дата: Пятница, 18.05.2012, 11:25 |
Сообщение № 1

Здравствуйте.
Подскажите пожалуйста.
У меня много листов в екселе, естественно работать, мягко говоря, неудобно. Возможно ли как нибудь создать список с названиями листов сбоку, чтобы легко можно было искать нужный лист и переходить на него???

 

Ответить

Hugo

Дата: Пятница, 18.05.2012, 11:30 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

Замечаний:
0% ±


2010, теперь уже с PQ

Не пробовали нажать ПКМ на стрелочках навигации по листам?


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

Гость

Дата: Пятница, 18.05.2012, 11:38 |
Сообщение № 3

Классно… Я даже и не знала про такую функцию…
Спасибо, что просвятили)))

 

Ответить

Alex_ST

Дата: Пятница, 18.05.2012, 14:39 |
Сообщение № 4

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3176


Репутация:

604

±

Замечаний:
0% ±


2003

Quote (Гость)

Спасибо, что просвятили

Игорь, а ты у нас оказывается святой, а не просветитель biggrin



С уважением,
Алексей
MS Excel 2003 — the best!!!

 

Ответить

ivanov1974

Дата: Пятница, 18.05.2012, 19:52 |
Сообщение № 5

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 149


Репутация:

1

±

Замечаний:
0% ±


Меня тоже интересует этот ворос. Но я ничего не понял, что такое ПКМ?

 

Ответить

Serge_007

Дата: Пятница, 18.05.2012, 21:51 |
Сообщение № 6

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (ivanov1974)

что такое ПКМ?

Правая Кнопка Мыши


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

ivanov1974

Дата: Воскресенье, 20.05.2012, 15:36 |
Сообщение № 7

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 149


Репутация:

1

±

Замечаний:
0% ±


Спасибо!

 

Ответить

nikitan95

Дата: Воскресенье, 20.05.2012, 16:51 |
Сообщение № 8

Группа: Проверенные

Ранг: Обитатель

Сообщений: 410


Репутация:

0

±

Замечаний:
0% ±


2016

ПКМ конечно не плохой вариант, а если листов к примеру больше ста? В смысле что можно ли посредством функций вывести на первом листе список листов и при нажатии на них перейти на соответствующий лист?

Сообщение отредактировал nikitan95Воскресенье, 20.05.2012, 16:52

 

Ответить

Serge_007

Дата: Воскресенье, 20.05.2012, 17:15 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (nikitan95)

…можно ли посредством функций вывести на первом листе список листов?

Нет.

Альтернатива — см. вложение. Макросы должны быть разрешены


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

nikitan95

Дата: Вторник, 22.05.2012, 08:06 |
Сообщение № 10

Группа: Проверенные

Ранг: Обитатель

Сообщений: 410


Репутация:

0

±

Замечаний:
0% ±


2016

спасибо, Сергей! Превосходное решение. Думаю, многим будет полезно. Виват!

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 12:00 |
Сообщение № 11

Сергей, а как поправить формулу на листе «Список»
[vba]

Code

=ЕСЛИ(ПРОВЕРКА;ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»)

[/vba]
так чтобы в общем списке листок не было самого листа «Список» и пары еще заранее известных, например Март и Сентябрь?

 

Ответить

Serge_007

Дата: Пятница, 01.06.2012, 12:26 |
Сообщение № 12

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Гость)

как поправить формулу на листе «Список»

Её править не надо. Тут дело не в формуле на листе, а в именованых формулах, на которые она ссылается. Вот их и надо изменять


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 13:16 |
Сообщение № 13

возможно ошибаюсь, но ведь в принципе возможно написать через условие на совпадение имени в заданным и при выполнении условия задавать пустое значение … в общем попробую, т.к. в корне не представляю как работать с именованными диапазонами для листов и как их вообще задавать =)

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 13:48 |
Сообщение № 14

предложенный мною вариант не есть хорошо,
[vba]

Code

=ЕСЛИ((ИЛИ(ЕСЛИ(ПРОВЕРКА;ЛИСТ.ИМЯ;»»)=»Март»;ЕСЛИ(ПРОВЕРКА;ЛИСТ.ИМЯ;»»)=»Сентябрь»)=ИСТИНА); «»; ЕСЛИ(ПРОВЕРКА;ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»))

[/vba]
т.к. отработав условие остается пустая ячейка и выглядеть это будет например так (исключаем «Март»):
Список
Январь 2012
Фераль

Апрель
Май
Июнь
Июль
Август

Октябрь
Ноябрь
Декабрь

а по хорошему нужно чтобы было без пустых ячеек … полистаю почитаю, может разберусь как с диапазонами работать =)

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 14:02 |
Сообщение № 15

Группа: Друзья

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

Замечаний:
0% ±


Excel 2007

Я предложил бы такой вариант:
вводите в диапазон $H$3:$H$10 не нужные, можно расширить диапазон…

Code

=ЕСЛИ(ПРОВЕРКА;ЕСЛИ(ЕНД(ПОИСКПОЗ(ЛИСТ.ИМЯ;$H$3:$H$10;0));ГИПЕРССЫЛКА(ЛИСТ.СПИСОК&»‘!A1″;ЛИСТ.ИМЯ);»»);»»)


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 14:11 |
Сообщение № 16

Quote (ABC)

Я предложил бы такой вариант:
вводите в диапазон $H$3:$H$10 не нужные, можно расширить диапазон…

кстати да, так более грамотно, но все же результат остается прежним =( а именно список имеет вид:
[vba]

Code

Список
Январь 2012
Фераль

Апрель
Май
Июнь
Июль
Август

Октябрь
Ноябрь
Декабрь

[/vba]
вместо требуемого:
[vba]

Code

Список
Январь 2012
Фераль
Апрель
Май
Июнь
Июль
Август
Октябрь
Ноябрь
Декабрь

[/vba]

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 14:39 |
Сообщение № 17

Группа: Друзья

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

Замечаний:
0% ±


Excel 2007

смотрите в ИМЕНИ ЛИСТА не должен быть ПРОБЕЛЫ.
массивная
Excel 2007

К сообщению приложен файл:

6540919.xls
(57.0 Kb)


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

Сообщение отредактировал ABCПятница, 01.06.2012, 14:49

 

Ответить

Гость

Дата: Пятница, 01.06.2012, 15:04 |
Сообщение № 18

спасибо! воспользуюсь вашим вариантом =)

 

Ответить

ABC

Дата: Пятница, 01.06.2012, 15:11 |
Сообщение № 19

Группа: Друзья

Ранг: Обитатель

Сообщений: 397


Репутация:

112

±

Замечаний:
0% ±


Excel 2007

Quote (Гость)

воспользуюсь вашим вариантом

не мой вариант — вариант Сергея, я добавил кои что по Вашему 2-му хотелку!!! и все… smile


MS Excel 2007 and 2010…
——————————-
С Уважением, Даулет

 

Ответить

Serge_007

Дата: Пятница, 01.06.2012, 16:56 |
Сообщение № 20

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (ABC)

не мой вариант — вариант Сергея

Не, я сам этот файлик где-то когда-то нашел smile

Подшаманил, сделал свой вариант, с исключаемыми листами. Можно ещё доработать, но сейчас лень smile


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Еще…Меньше

В этой статье описаны синтаксис формулы и использование листов
 в Microsoft Excel.

Описание

Возвращает количество листов в ссылке.

Синтаксис

ЛИСТЫ(ссылка)

Аргументы функции ЛИСТЫ описаны ниже.

  • Ссылка    Необязательный аргумент. Ссылка — это ссылка, для которой необходимо знать количество листов. Если опустить аргумент «Ссылка», функция ЛИСТЫ возвращает количество листов в книге, которая содержит функцию.

Замечания

  • Функция ЛИСТЫ включает в себя все листы (видимые, скрытые или очень скрытые), кроме всех остальных типов листов (макросов, диаграмм или диалогов).

  • Если ссылка не является допустимым значением, то листы возвращают значение #REF! (значение ошибки).

  • Функция ЛИСТЫ недоступна в объектной модели (OM), поскольку там уже содержится похожая функция.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=ЛИСТЫ()

Так как не указан аргумент «Ссылка», возвращается общее количество листов в книге (3).

3

=ЛИСТЫ(Мои3DСсылки)

Возвращает количество листов в ссылке 3D «Мои3DСсылки», которая включает Лист2 и Лист3 (2).

2

К началу страницы

Нужна дополнительная помощь?

Странно, но в Excel невозможно напрямую сгенерировать список имен листов из книги. В этой статье будет рассказано, как создать список всех листов, содержащихся в книге. Как и в предыдущей статье, здесь мы будем использовать макрофункцию из Excel 4 XLM в именованной формуле.

Начнем с книги, в которой много рабочих листов или листов с диаграммами. Выполните следующие действия, чтобы создать список названий листов.

  1. Вставьте новый лист, на котором будет находиться список.
  2. Выполните команду Формулы ► Присвоить имя, чтобы открыть диалоговое окно Создание имени.
  3. Впишите в поле Имя название Список.
  4. Введите следующую формулу в поле Диапазон (рис. 9.1): =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"").
  5. Осталось нажать ОК, чтобы закрыть диалоговое окно Создание имени.

http://www.kids.ua/

Рис. 9.1. Работа с окном Создание имени для создания именованной формулы

Обратите внимание: в формуле используется функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ, которая не относится к числу стандартных функций рабочего листа. Это макрофункция, написанная в сравнительно старом XLM-стиле и предназначенная для применения на специальном листе макросов. При использовании аргумента 1 она возвращает массив имен листов, причем перед именем каждого листа указано название книги, откуда он взят. Функции ЗАМЕНИТЬ и НАЙТИ удаляют имя книги, сопутствующее названию листа. Чтобы сгенерировать имена листов, введите в ячейку А1 следующую формулу, а затем скопируйте ее ниже по столбцу: =ИНДЕКС(Список;СТРОКА()).

На рис. 9.2 приведена данная формула для диапазона А1:А10. В книге семь листов, поэтому формула возвращает ошибку #ССЫЛКА! при попытке отобразить имя несуществующего листа. Чтобы избежать этого, измените формулу следующим образом: =ЕСЛИОШИБКА(ИНДЕКС(Список;СТРОКА());"").

Рис. 9.2. Использование формулы для отображения списка имен листов

Рис. 9.2. Использование формулы для отображения списка имен листов

Список названий листов можно откорректировать, если вы будете добавлять, удалять или переименовывать листы, но это не происходит автоматически. Чтобы принудительно обновить формулы, нажмите Ctrl+Alt+F9. Если вы хотите, чтобы имена листов автоматически обновлялись при пересчете книги, измените именованную формулу следующим образом, чтобы сделать ее меняющейся: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"")&Т(ТДАТА()).

Рис. 9.3. Создание списка гиперссылок

Рис. 9.3. Создание списка гиперссылок

Зачем может понадобиться список названий листов? На рис. 9.3 показано оглавление, созданное с помощью ссылки ГИПЕРССЫЛКА. В ячейке В1 записана следующая формула: =ГИПЕРССЫЛКА("#"&A1&"!A1";"Перейти по ссылке"). Щелкнув на гиперссылке, вы активизируете лист и выделяете ячейку А1. К сожалению, Excel не поддерживает гиперссылок, ведущих на лист с диаграммами, поэтому при попытке сослаться на такой лист программа выдаст ошибку.

Если вы пользуетесь такими приемами, то книгу нужно сохранить как файл с поддержкой макросов (в формате *.xlsm или *.xls).

C помощью надстройки VBA-Excel можно выводить список выбранных листов книги в указанную ячейку.

Вывести список листов excel

Вывести список листов в ячейку можно следующим способом:

  1. Перейти на вкладку VBA-Excel (доступна после установки).
  2. В меню Диспетчеры выбрать пункт Диспетчер листов.
    Вызов диспетчера листов
  3. Выбрать команду Список листов
    Выбор команды Список листов в диспетчере
  4. В диалоговом окне указать ячейку, в которую будет выводиться список листов. Вы можете вывести как все листы книги, так и те, которые вы выбрали в диспетчере листов.
    Вывод перечня листов
  5. Нажать кнопку Создать список

Как посмотреть список листов в книге excel

Если в нижней части книги не отображаются ярлычки листов, это может быть вызвано несколькими причинами. В таблице ниже приведены их описания и способы устранения.

Примечание: Представленные в этой статье изображения созданы в Excel 2016. Если вы используете другую версию, интерфейс может немного отличаться, но функции будут такими же (если не указано иное).

Ярлычки скрыты из-за изменения размеров окон.

Если вы восстановили несколько окон, убедитесь, что они не перекрываются. Возможно, верхняя часть одного окна Excel закрывает ярлычки листов другого окна.

Строка состояния находится под строкой формул.

Ярлычки также могут исчезнуть, если разрешение экрана выше, чем на компьютере, где книга сохранялась в последний раз.

Попробуйте увеличить размер окна, чтобы открыть вкладки. Просто дважды щелкните заголовок окна.

Если ярлычки по-прежнему не отображаются, щелкните Вид > Упорядочить все > Рядом > ОК.

Параметр Показывать ярлычки листов отключен.

Сначала проверьте, действительно ли параметр Показывать ярлычки листов включен. Вот как это сделать:

Для других версий Excel: выберите Файл > Параметры > Дополнительно и убедитесь, что в разделе Показать параметры для следующей книги установлен флажок Показывать ярлычки листов.

Ярлычки перекрываются горизонтальной полосой прокрутки.

Наведите указатель мыши на край полосы прокрутки и удерживайте его, пока не появится двусторонняя стрелка (см. рисунок). Щелкните и перетащите стрелку вправо, пока не появится название ярлычка целиком и остальные ярлычки.

Чтобы показать ярлычки, перетащите двунаправленную стрелку вправо

Чтобы отобразить лист, щелкните правой кнопкой мыши любой видимый ярлычок и выберите команду Отобразить. В диалоговом окне Вывод на экран скрытого листа выберите лист, который нужно отобразить, и нажмите кнопку ОК.

Отображение скрытого листа

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Как создать список всех листов, содержащихся в книге Excel при помощи макрофункции

Странно, но в Excel невозможно напрямую сгенерировать список имен листов из книги. В этой статье будет рассказано, как создать список всех листов, содержащихся в книге. Как и в предыдущей статье, здесь мы будем использовать макрофункцию из Excel 4 XLM в именованной формуле.

Начнем с книги, в которой много рабочих листов или листов с диаграммами. Выполните следующие действия, чтобы создать список названий листов.

  1. Вставьте новый лист, на котором будет находиться список.
  2. Выполните команду Формулы ► Присвоить имя, чтобы открыть диалоговое окно Создание имени.
  3. Впишите в поле Имя название Список.
  4. Введите следующую формулу в поле Диапазон (рис. 9.1): =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»») .
  5. Осталось нажать ОК, чтобы закрыть диалоговое окно Создание имени.

http://www.kids.ua/

Рис. 9.1. Работа с окном Создание имени для создания именованной формулы

Обратите внимание: в формуле используется функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ, которая не относится к числу стандартных функций рабочего листа. Это макрофункция, написанная в сравнительно старом XLM-стиле и предназначенная для применения на специальном листе макросов. При использовании аргумента 1 она возвращает массив имен листов, причем перед именем каждого листа указано название книги, откуда он взят. Функции ЗАМЕНИТЬ и НАЙТИ удаляют имя книги, сопутствующее названию листа. Чтобы сгенерировать имена листов, введите в ячейку А1 следующую формулу, а затем скопируйте ее ниже по столбцу: =ИНДЕКС(Список;СТРОКА()) .

На рис. 9.2 приведена данная формула для диапазона А1:А10. В книге семь листов, поэтому формула возвращает ошибку #ССЫЛКА! при попытке отобразить имя несуществующего листа. Чтобы избежать этого, измените формулу следующим образом: =ЕСЛИОШИБКА(ИНДЕКС(Список;СТРОКА());»») .

Рис. 9.2. Использование формулы для отображения списка имен листов

Рис. 9.2. Использование формулы для отображения списка имен листов

Список названий листов можно откорректировать, если вы будете добавлять, удалять или переименовывать листы, но это не происходит автоматически. Чтобы принудительно обновить формулы, нажмите Ctrl+Alt+F9. Если вы хотите, чтобы имена листов автоматически обновлялись при пересчете книги, измените именованную формулу следующим образом, чтобы сделать ее меняющейся: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)&Т(ТДАТА()) .

Рис. 9.3. Создание списка гиперссылок

Рис. 9.3. Создание списка гиперссылок

Зачем может понадобиться список названий листов? На рис. 9.3 показано оглавление, созданное с помощью ссылки ГИПЕРССЫЛКА. В ячейке В1 записана следующая формула: =ГИПЕРССЫЛКА(«#»&A1&»!A1″;»Перейти по ссылке») . Щелкнув на гиперссылке, вы активизируете лист и выделяете ячейку А1. К сожалению, Excel не поддерживает гиперссылок, ведущих на лист с диаграммами, поэтому при попытке сослаться на такой лист программа выдаст ошибку.

Если вы пользуетесь такими приемами, то книгу нужно сохранить как файл с поддержкой макросов (в формате *.xlsm или *.xls).

Получить список листов книги

  Доступность
Скачать ЁXCEL
Возможность отмены:

Данная команда создает новый лист и выводит в данном листе список листов рабочей книги, за исключением созданного листа со списком:

Получить список листов книги 

Чтобы воспользоваться данной командой перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Листы» и выберите команду «Получить список листов книги»:

В открывшемся диалоговом окне выберите один из вариантов отображения списка листов и нажмите кнопку «ОК»:

Для отмены операции нажмите кнопку отмены:

Добавить комментарий

Имя

Отправить

JComments

 

Ole_123

Пользователь

Сообщений: 58
Регистрация: 10.07.2019

#1

10.12.2019 20:01:31

Здравствуйте. Создал макрос который в столбец помещает все листы в екселе. Но я не могу в нужную ячейку вставить этот список. Если я меняю Cells(i,2) Cells(9,2) — выдает только 4 лист книги (всего в книге 4 листа). Как сделать чтобы списком было все листы?

Код
Sub List()

Sheets("Task 3 (VBA)").Select
Range("Table1[Names of tabs in this file]").Select

Dim i As Integer
For i = 1 To ActiveWorkbook.Worksheets.Count
ActiveSheet.Cells(9, 2).Value = ActiveWorkbook.Worksheets(i).Name
Next i
End Sub
 

bigorq

Пользователь

Сообщений: 783
Регистрация: 26.04.2018

#2

10.12.2019 20:24:10

Так

Код
Cells(i, 2)

 должна вывести все листы в столбик. Вот правда ActiveSheet перед ним меня смущает. Но я не знаток VBA

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

Почитайте в  «Приемах» эту

статью

 

Alec Perle

Пользователь

Сообщений: 172
Регистрация: 13.07.2018

#4

10.12.2019 21:56:17

Не вдаваясь в моменты использования Select и ActiveSheet — приведенная процедура выводит имена всех рабочих листов, как и предполагается. Но выводит их в одну и ту же ячейку, поэтому и остается в результате только имя последнего листа.
Что Вы хотите получить? Имена книг в разных ячейках или в одной? Как раз не хватает примера того, что необходимо получить.
Судя по замене Cells(i,2) на Cells(9,2) (видимо у Вас в вопросе «на» пропущено) — в одной ячейке. Тогда:

Код
Sub List()
 
Sheets("Task 3 (VBA)").Select
Range("Table1[Names of tabs in this file]").Select
 
Dim i As Integer
For i = 1 To ActiveWorkbook.Worksheets.Count
  If i>1 Then ActiveSheet.Cells(9, 2).Value = ActiveSheet.Cells(9, 2).Value & vbCr 'Добавляем символ переноса строк
  ActiveSheet.Cells(9, 2).Value = ActiveSheet.Cells(9, 2).Value & ActiveWorkbook.Worksheets(i).Name
Next i
End Sub

Если это так, то название темы надо поправить. «Список имен рабочих листов книги в одной ячейке с помощью макроса»

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#5

10.12.2019 22:11:45

Цитата
Alec Perle написал:
Что Вы хотите получить? Имена книг в разных ячейках…
Цитата
Ole_123 написал:
Список листов книги

:)  

 

Ole_123

Пользователь

Сообщений: 58
Регистрация: 10.07.2019

Alec Perle,да, но можно чтобы этот перечень в столбец был а не в 1 ячейке?

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

Ole_123, по ссылке статью читали?

 

Ole_123

Пользователь

Сообщений: 58
Регистрация: 10.07.2019

Юрий М,конечно, но у меня немного не то. У меня Лист 3-й по счету + мне не сверху листа нужно вставить список а в Cells(9,2).

 

bigorq

Пользователь

Сообщений: 783
Регистрация: 26.04.2018

#9

10.12.2019 23:33:39

Цитата
Ole_123 написал:
чтобы этот перечень в столбец был а не в 1 ячейке?
Цитата
Ole_123 написал:
вставить список а в Cells(9,2).

Определитесь, чего Вы хотите

 

Ігор Гончаренко

Пользователь

Сообщений: 13746
Регистрация: 01.01.1970

#10

10.12.2019 23:34:34

Цитата
Ole_123 написал:
У меня Лист 3-й по счету + мне не сверху листа нужно вставить список а в Cells(9,2)

воспользуйтесь услугами программиста)

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

Ole_123

Пользователь

Сообщений: 58
Регистрация: 10.07.2019

Ігор Гончаренко,прикрепляю пустой пример) На третем листе выделил куда должен попадать список. В коде выше все попадает в 1 строчку, а нужно чтобы столбцом.
Подскажите плз

Прикрепленные файлы

  • Book1.xlsx (10.34 КБ)

 

bigorq

Пользователь

Сообщений: 783
Регистрация: 26.04.2018

а если в коде vbCr заменить на chr(10) ? Будет как Вы хотите?

Изменено: bigorq10.12.2019 23:43:19

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#13

10.12.2019 23:45:39

Ну так сделайте минимальную доработку:

Код
Sub SheetList()
   Dim sheet As Worksheet
   Dim cell As Range, x As Long
   x = 9
   With ActiveWorkbook
      For Each sheet In ActiveWorkbook.Worksheets
         Set cell = Worksheets(3).Cells(x, 2)
         .Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'" & sheet.Name & "'" & "!A1"
         cell.Formula = sheet.Name
         x = x + 1
      Next
   End With
End Sub

 

Ole_123

Пользователь

Сообщений: 58
Регистрация: 10.07.2019

bigorq,не совсем. Выйдет что все названия листов в 1 ячейке столбцом. А нужно в разных ячейках названия (столбцом)

 

))
совсем на форуме экстрасенсы перевелись, элементарных вещей угадать не могут!

Изменено: Ігор Гончаренко10.12.2019 23:49:37

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

bigorq

Пользователь

Сообщений: 783
Регистрация: 26.04.2018

#16

10.12.2019 23:49:08

Цитата
Ole_123 написал:
А нужно в разных ячейках названия

Так а чем Вас первоначальный вариант не устраивает? Замените в Cells 9 на i+8

 

Ole_123

Пользователь

Сообщений: 58
Регистрация: 10.07.2019

#17

10.12.2019 23:52:23

bigorq,получилось, спасибо!!!!)

Как создать список всех имен рабочих листов из книги?

Предположим, у вас есть книга с несколькими листами, и теперь вы хотите перечислить все имена листов в текущей книге. Есть ли какой-нибудь быстрый способ создать список имен этих листов в Excel, не вводя их один за другим? В этом руководстве приведены инструкции о том, как составить список имен листов в Excel.

  • Получите список всех имен рабочих листов из книги динамически с формулами
  • Получите список всех имен рабочих листов из книги с кодом VBA
  • Получите список всех имен рабочих листов из книги с полезной функцией

Получите список всех имен рабочих листов из книги динамически с формулами

В Excel вы можете определить имя диапазона, а затем применить формулу для перечисления всех имен листов из текущей книги, выполните следующие действия:

1. Перейти к щелчку Формула > Менеджер имен, см. снимок экрана:

2. В Менеджер имен диалоговое окно, нажмите Новинки кнопку, см. снимок экрана:

3. В выскочившем Новое имя диалоговом окне укажите имя в поле Имя и фамилия текстовое поле, а затем скопируйте приведенную ниже формулу в Относится к текстовое поле, см. снимок экрана:

=GET.WORKBOOK(1)&T(NOW())

4. Затем нажмите OK > Закрыть чтобы закрыть диалоговые окна, перейдите к листу, на котором вы хотите перечислить все имена листов, а затем введите следующую формулу в пустую ячейку:

=IFERROR(INDEX(MID(Sheetnames,FIND(«]»,Sheetnames)+1,255),ROWS($A$2:A2)),»»)

Внимание: В приведенной выше формуле Имена листов это название диапазона, которое вы обозначили на шаге 3.

5. Затем перетащите дескриптор заполнения вниз к ячейкам, когда отображаются пустые ячейки, и теперь все имена листов текущей книги перечислены, как показано ниже:

6. Если вы хотите создать гиперссылку для каждого листа, используйте приведенную ниже формулу:

=HYPERLINK(«#'»&A2&»‘!A1″,»Go To Sheet»)

Внимание: В приведенной выше формуле A2 — это ячейка, содержащая имя листа, а A1 — это ячейка, в которой вы хотите разместить активную ячейку. Например, если вы щелкните текст гиперссылки, он найдет ячейку A1 листа.

7. Теперь, когда вы щелкните текст гиперссылки, вы перейдете на этот лист, см. Демонстрацию ниже:

Заметки:

  • 1. С помощью приведенных выше формул имена созданных листов отображаются динамически, при изменении имени листа в книге имя индексного листа будет обновлено автоматически.
  • 2. Вы должны сохранить файл как Excel Macro-Enabled Workbook формат, если вы хотите, чтобы формулы работали нормально после закрытия и повторного открытия файла.

Получите список всех имен рабочих листов из книги с кодом VBA

Следующие два кода VBA могут помочь вам перечислить все имена листов на новом листе. Пожалуйста, сделайте так:

1. Удерживая нажатой ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

VBA: перечислите все имена рабочих листов с гиперссылками на новом листе:

Sub CreateIndex () 'updateby Extendoffice
    Dim xAlerts As Boolean Dim I As Long Dim xShtIndex As Worksheet Dim xSht As Variant xAlerts = Application.DisplayAlerts Application.DisplayAlerts = False при ошибке Возобновить следующие листы («Индекс»). Удалить при ошибке GoTo 0 Установить xShtIndex = Sheets.Add (Sheets (1)) xShtIndex.Name = "Index" I = 1 Cells (1, 1) .Value = "INDEX" для каждого xSht в ThisWorkbook.Sheets Если xSht.Name <> "Index", то I = I + 1 xShtIndex. Hyperlinks.Add Cells (I, 1), "", "'" & xSht.Name & "'! A1",, xSht.Name End If Next Application.DisplayAlerts = xAlerts End Sub

2. Затем нажмите F5 ключ для запуска кода, и все имена рабочих листов в активной книге были перечислены в новый рабочий лист с именем Индекс, и имена листов также связаны с каждым листом, см. снимок экрана:


Получите список всех имен рабочих листов из книги с полезной функцией

Для Создать список имен листов утилита сторонней надстройки Kutools for Excel, вы можете создать список имен рабочих листов одним щелчком мыши и связать каждый рабочий лист гиперссылкой.

Примечание:Чтобы применить это Создать список имен листов, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Нажмите Кутулс Плюс > Рабочий лист > Создать список имен листов, см. снимок экрана:

2. В Создать список имен листов диалоговом окне укажите следующие параметры:

3. После завершения настроек нажмите OK. Все имена рабочих листов перечислены со ссылками на новом листе текущей книги. Смотрите скриншот:

Нажмите, чтобы загрузить и бесплатную пробную версию Kutools for Excel от Yhao сейчас!


Больше относительных статей:

  • Перечислить все имена файлов в папке и создать для них гиперссылки
  • Для повседневной работы вам может потребоваться импортировать несколько имен файлов из папки на рабочий лист и создать гиперссылки для каждого файла, чтобы файл открывался легко и быстро. Возможно, вы можете скопировать и вставить имена файлов и создать для них гиперссылки по одному вручную, но это потратит много времени, если в папке есть сотни файлов.
  • Копирование или перемещение файлов из одной папки в другую на основе списка
  • Если у вас есть список имен файлов в столбце на листе, и файлы находятся в папке на вашем компьютере. Но теперь вам нужно переместить или скопировать эти файлы, имена которых указаны на листе, из их исходной папки в другую, как показано на следующем снимке экрана. Как вы могли выполнить эту задачу так быстро, как вы можете в Excel?
  • Получить список имен листов в Google Таблицах
  • В этой статье я расскажу о некоторых методах получения имени текущего имени листа или списка имен листов в таблицах Google.
  • Перемещение между листами с помощью раскрывающегося списка
  • Предположим, у вас есть книга, содержащая несколько листов, теперь вам нужно создать раскрывающийся список или поле со списком, в котором перечислены все имена листов, и когда вы выбираете одно имя листа из раскрывающегося списка, он немедленно переходит на этот лист. В этой статье я расскажу, как перемещаться между листами с помощью раскрывающегося списка в Excel.

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:
  • Как вывести строку в word
  • Как вывести сообщение на экран в excel
  • Как вывести стоимость в excel
  • Как вывести сообщение excel макросы
  • Как вывести ссылки в excel