Программное перечисление всех листов в книге
Класс Workbook предоставляет объект Worksheets. Этот объект содержит коллекцию всех объектов Worksheet в книге.
Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Excel. Дополнительные сведения см. в разделе «Функции», доступные по Приложение Office ликации и типу проекта.
Составление списка существующих в книге листов в настройке уровня документа
- Следует выполнить итерацию коллекции Worksheets и отправить имя каждого листа в смещение ячейки из элемента управления NamedRange.
private void ListSheets() < int index = 0; Microsoft.Office.Tools.Excel.NamedRange NamedRange1 = Globals.Sheet1.Controls.AddNamedRange( Globals.Sheet1.Range["A1"], "NamedRange1"); foreach (Excel.Worksheet displayWorksheet in Globals.ThisWorkbook.Worksheets) < NamedRange1.Offset[index, 0].Value2 = displayWorksheet.Name; index++; >>
Private Sub ListSheets() Dim index As Integer = 0 Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _ Globals.Sheet1.Controls.AddNamedRange( _ Globals.Sheet1.Range("A1"), "NamedRange1") For Each displayWorksheet As Excel.Worksheet In Globals.ThisWorkbook.Worksheets NamedRange1.Offset(index, 0).Value2 = displayWorksheet.Name index += 1 Next displayWorksheet End Sub
Составление списка существующих в книге листов в надстройке VSTO
- Следует выполнить итерацию коллекции Worksheets и отправить имя каждого листа в смещение ячейки из объекта Range.
private void ListSheets() < int index = 0; Excel.Range rng = this.Application.get_Range("A1"); foreach (Excel.Worksheet displayWorksheet in this.Application.Worksheets) < rng.get_Offset(index, 0).Value2 = displayWorksheet.Name; index++; >>
Private Sub ListSheets() Dim index As Integer = 0 Dim rng As Excel.Range = Me.Application.Range("A1") For Each displayWorksheet As Excel.Worksheet In Me.Application.Worksheets rng.Offset(index, 0).Value2 = displayWorksheet.Name index += 1 Next displayWorksheet End Sub
Связанный контент
- Работа с листами
- Практическое руководство. Программное добавление новых листов в книги
- Практическое руководство. Программное перемещение листов в книгах
- Глобальный доступ к объектам в проектах Office
ЛИСТЫ (функция ЛИСТЫ)
В этой статье описаны синтаксис формулы и использование листов в Microsoft Excel.
Описание
Возвращает количество листов в ссылке.
Синтаксис
Аргументы функции ЛИСТЫ описаны ниже.
- Ссылка Необязательный аргумент. Ссылка — это ссылка, для которой необходимо знать количество листов. Если опустить аргумент «Ссылка», функция ЛИСТЫ возвращает количество листов в книге, которая содержит функцию.
Замечания
- Функция ЛИСТЫ включает в себя все листы (видимые, скрытые или очень скрытые), кроме всех остальных типов листов (макросов, диаграмм или диалогов).
- Если ссылка не является допустимым значением, то листы возвращают значение #REF! (значение ошибки).
- Функция ЛИСТЫ недоступна в объектной модели (OM), поскольку там уже содержится похожая функция.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
Так как не указан аргумент «Ссылка», возвращается общее количество листов в книге (3).
Возвращает количество листов в ссылке 3D «Мои3DСсылки», которая включает Лист2 и Лист3 (2).
Как посмотреть список листов в книге excel
Данная команда создает новый лист и выводит в данном листе список листов рабочей книги, за исключением созданного листа со списком:
Чтобы воспользоваться данной командой перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Листы» и выберите команду «Получить список листов книги»:
В открывшемся диалоговом окне выберите один из вариантов отображения списка листов и нажмите кнопку «ОК»:
Для отмены операции нажмите кнопку отмены:
Как создать список всех листов, содержащихся в книге Excel при помощи макрофункции
Странно, но в 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).