Excel как узнать есть такой лист в книге

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

Присвоение листа объектной переменной

Пользовательская функция VBA Excel для проверки существования листа в рабочей книге путем определения результата присвоения ссылки на него объектной переменной. Присвоение состоялось (SheetExist = True) – искомый лист существует, произошла ошибка и присвоение не состоялось (SheetExist = False) – лист не существует.

Function SheetExist(WbName As String, ShName As String) As Boolean

Dim mySheet As Worksheet

    On Error Resume Next

        Set mySheet = Workbooks(WbName).Sheets(ShName)

    SheetExist = Not mySheet Is Nothing

End Function

Аргументы функции SheetExist:

  • WbName – имя открытой рабочей книги, в которой ищется лист.
  • ShName – имя искомого рабочего листа.

Перебор существующих листов циклом

Проверка существования рабочего листа в книге Excel с помощью перебора существующих листов циклом VBA и сравнения их имен с именем искомого листа. Совпадение найдено (SheetExist = True) – искомый лист существует, совпадение не найдено (SheetExist = False) – лист не существует.

Function SheetExist(WbName As String, ShName As String) As Boolean

Dim mySheet As Worksheet

    For Each mySheet In Workbooks(WbName).Sheets

        If mySheet.Name = ShName Then

            SheetExist = True

            Exit Function

        End If

    Next

End Function

Пример проверки существования листа

Пример проверки существования искомого листа в рабочей книге Excel с помощью пользовательской функции VBA SheetExist:

Sub Primer()

    If SheetExist(ThisWorkbook.Name, «Лист1») Then

        MsgBox «Лист существует»

    Else

        MsgBox «Лист не существует»

    End If

End Sub

Имя сторонней открытой книги должно быть указано вместе с расширением:

...

    If SheetExist(«Книга2.xlsm», «Лист2») Then

...

Обратите внимание, если книга, имя которой указано в параметре WbName закрыта или не существует, будет сгенерирована ошибка.

Чтобы функция проверки существования рабочего листа SheetExist была доступна из модуля любой книги Excel на вашем компьютере, разместите ее в Личной книге макросов.


Хитрости »

1 Май 2011              136618 просмотров


Как узнать существует ли лист в книге?

Довольно часто при добавлении листов в книгу кодом необходимо удостовериться существует ли уже лист с таким именем или же нет. Т.к. если уже существует, то попытка создать лист с таким же именем неизбежно приведет к ошибке. Можно, конечно, поставить обработчик ошибки On Error.

Sub Add_New_Sheet()
    On Error Resume Next
    Sheets.Add(, Sheets(Sheets.Count)).Name = "Новый лист"
End Sub

Но тогда, если лист с таким именем уже существует, будет создан лист со следующим порядковым номером(типа Лист4). А этого в большинстве случаев не надо, т.к. обычно планируется все же либо создать лист с нужным именем, либо не создавать вовсе.
Я обычно проверяю так:

Sub Add_New_Sheet()
    Dim wsSh As Worksheet
    On Error Resume Next
    Set wsSh = Sheets("Новый лист")
    If wsSh Is Nothing Then Sheets.Add(, Sheets(Sheets.Count)).Name = "Новый лист"
    'здесь можно либо активировать лист, либо производить еще какие действия
    'wsSh.Activate
End Sub

Если предполагается использовать такую проверку более одного раза в коде, то имеет смысл вынести проверку в отдельную функцию

Function Sh_Exist(wb As Workbook, sName As String) As Boolean
    Dim wsSh As Worksheet
    On Error Resume Next
    Set wsSh = wb.Sheets(sName)
    Sh_Exist = Not wsSh Is Nothing
End Function

Функция проверяет наличие листа в указанной книге и возвращает True, если лист есть в книге и False, если листа нет.
wb — объект Workbook, наличие листа в которой надо проверить.
sName — имя листа, наличие которого необходимо проверить.
Код функции Sh_Exist необходимо поместить в стандартный модуль и тогда для проверки наличия листа достаточно будет одной строки кода:

Sub Add_New_Sheet()
    If Not Sh_Exist(ActiveWorkbook, "Новый лист") Then
        ActiveWorkbook.Sheets.Add(, ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)).Name = "Новый лист"
    End If
End Sub

«Новый лист» — вместо этого текста указывается имя листа, наличие которого необходимо проверить.
Если проверять надо не в активной книге, а в какой-либо другой, то вместо ActiveWorkbook необходимо указать эту книгу. Например, если книга называется «Отчет.xlsx», то код будет таким:

Sub Add_New_Sheet()
    If Not Sh_Exist(Workbooks("Отчет.xlsx"), "Новый лист") Then
        Workbooks("Отчет.xlsx").Sheets.Add(, Workbooks("Отчет.xlsx").Sheets(Workbooks("Отчет.xlsx").Sheets.Count)).Name = "Новый лист"
    End If
End Sub

Хотя в данном случае практичнее выделить отдельную переменную:

Sub Add_New_Sheet()
    Dim wbCheck As Workbook
    Set wbCheck = Workbooks("Отчет.xlsx")
    If Not Sh_Exist(wbCheck, "Новый лист") Then
        wbCheck.Sheets.Add(, wbCheck.Sheets(wbCheck.Sheets.Count)).Name = "Новый лист"
    End If
End Sub

Можно еще упростить и конструкцию With использовать, но это уже другая тема :)

Также см.:
Как проверить открыта ли книга?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Дабы не создавать новую тему,

В моей книге есть макросы, имеющие в своем составе формулы со ссылками на другие листы этой книги. При запуске макросов необходимо проверить книгу на соответствие имен листов (не изменил ли кто случайно). если все ОК, то запускаем другой макрос, если нет, то сообщение, какой лист нужно проверить.

воспользовался примером Busine2012, и Казанский, написал код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
   Sub ttt()
    
    'Создаём переменную, в которую поместим имя листа.
    Dim sName As String
    Dim aName As String
    
    'Создаём переменную, с помощью которой будем обращаться к нужному листу.
    Dim oSheet As Excel.Worksheet
    'Помещаем в переменные имена листов.
    sName = "ДАННЫЕ"
    aName = "РЕЗУЛЬТАТЫ"
    bName = "ИТОГИ
 
    On Error Resume Next
    
        'Присваиваем листу имя oSheet.
Set oSheet = Worksheets(sName)
  
    
        If Worksheets(sName) Is Nothing Then
            MsgBox "Проверь имя листа ДАННЫЕ.", vbCritical
   Else
    
Set oSheet = Worksheets(aName)
    
    If Worksheets(aName) Is Nothing Then
            MsgBox "проверь имя листа РЕЗУЛЬТАТЫ.", vbCritical
    Else
Set oSheet = Worksheets(bName)
    
    If Worksheets(bName) Is Nothing Then
            MsgBox "проверь имя листа ИТОГИ.", vbCritical
               Else
            MsgBox "Работа разрешена.", vbCritical  ' работа макроса
    End If
 End If
 End If
    
End Sub

Макрос работает.

Вопрос: можно ли упростить код для проверки имен листов, если число проверяемых листов на правильность имени будет больше 10 (без ухудшения производительности)?

Было бы конечно лучше, если макрос сам переименовывал неправильные названия без участия пользователя..

Заранее спасибо.

Добавлено через 25 минут

Цитата
Сообщение от dmb2
Посмотреть сообщение

Было бы конечно лучше, если макрос сам переименовывал неправильные названия без участия пользователя..

Visual Basic
1
Лист1.Name="Данные"

Добавлено через 5 минут
Но код проверяет (соответственно и переименовывает неправильные листы) по одному за работу всего цикла. Хотелось бы чтобы сразу все листы проверил, и все исправил.

Добавлено через 5 минут
Возникла мысль, хотелось бы узнать мнение о целесообразности,

Может обойтись без проверки листов и сразу все листы переименовать?

Содержание

  1. Microsoft Excel
  2. Как создать список всех листов, содержащихся в книге Excel при помощи макрофункции
  3. Как получить список листов книги Excel
  4. Список листов с помощью формулы
  5. Как составить список листов через VBA
  6. Надстройки для составления списка листов
  7. Как подсчитать количество листов в книге
  8. Исчезли ярлычки листов
  9. Дополнительные сведения
  10. Как получить список листов книги Excel
  11. Список листов с помощью формулы
  12. Как составить список листов через VBA
  13. Надстройки для составления списка листов
  14. Как подсчитать количество листов в книге

Microsoft Excel

трюки • приёмы • решения

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

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

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

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

Рис. 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

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

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

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

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

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

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

  1. Открываем VBA с помощью комбинации клавиш «Alt+F11». Если при нажатии F11 снижается яркость или срабатывает другая функция, установленная на эту кнопку, зажмите клавишу Fn.
  2. Нажмите «Вставить» (Insert) на верхней панели и выберите в открывшемся меню пункт «Модуль» (Module).
  1. Вставляем в свободное поле этот текст:
  1. Далее можно закрыть окно Visual Basic, потому что этот инструмент больше не понадобится, а функция уже добавлена в программу.
  1. Открываем лист для списка и вводим формулу в начальную ячейку. Теперь не нужно длинное выражение, чтобы создать список листов. Новая формула выглядит так: =SheetList(СТРОКА()).
  2. Нажимаем Enter и получаем название листа в ячейке. Маркером заполнения создаем список.
  1. Для гиперссылок придется использовать ту же длинную формулу: =ГИПЕРССЫЛКА(“#”&A1&”!A1″;””&A1).

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

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

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

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

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

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

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

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

Источник

Исчезли ярлычки листов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

На чтение 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 в ячейке появится номер того же листа, где была введена формула. Простое выражение с ЛИСТ выглядит так: =ЛИСТ().

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

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel как узнать длину строки
  • Excel как узнать день недели по дате
  • Excel как узнать возраст если есть дата рождения
  • Excel как узнать в какой ячейке связь
  • Excel как узнать в каких формулах используется ячейка

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии