Создание листов в excel по списку
Многим известно, что в excel существуют функции, которые остались от предыдущих версий программы, которые служат для того, чтобы при открытии старого файла данные в нем поддерживались. О подобных функциях сейчас редко говорят, однако они способны на некоторые очень полезные вещи.
Еще одна статья о скрытой функции, которая рассчитывает разницу между двумя датами в определенном формате - Скрытая, но мощная функция в Excel .
В этой статье я бы хотела рассказать как с помощью одной из таких функций создать список всех листов вашей рабочей книги excel. Сейчас для этого все чаще используются макросы, но без них можно обойтись.
Предположим, у нас есть файл с некоторым количеством листов:
Для того, чтобы создать список, перейдите на новый лист. Во вкладке Формулы нажмите Определенные имена -> Задать имя. В открывшемся окне "Создание имени" присвойте имя вашему списку, в строке "Диапазон" пропищите формулу: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"") и нажмите ОК:
Функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ имеет два аргумента:
1. ном_типа - цифра, обозначающая тип информации, который мы хотим получить о книге excel. Один в нашем случае означает имена всех листов рабочей книги;
2. имя_текст - название рабочей книги, если оно опущено - используется активная рабочая книга.
После этого в ячейке, где будет находиться ваш список введите формулу: =ЕСЛИОШИБКА(ИНДЕКС(Список;СТРОКА());"") и протяните ее вниз:
Функция ЕСЛИОШИБКА оставит пустыми ячейки, для которых не хватило названий листов.
✔ Ищите ответы на свои вопросы в статье Фишки 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, сохранить.
Нажмем на кнопку, сформировались три листа с название по списку сотрудников, которые были в списке. И можно будет заполнять или печатать.
Вот такой простой код позволяет быстро создать и заполнить книгу листами по определенным данным.
Если нажать на кнопку повторно, то Excel выдаст ошибку, что подобные листы уже используется, надо учитывать этот момент, просто удалите дубли, в этом примере я не буду делать повторную проверку или добавление каких-то случайных значений к имени листов.
Давайте добавим теперь в шапку шаблона формулу, которая будет в ячейку присваивать имя листа, сейчас формула находится на листе с названием шаблон.
Эта формула позволяет получить из значение листа имя листа в ячейку, происходит разбор пути файла до листа.
Давайте допишет для примера как это бывает в таблицах, «Список для », а далее будет фамилия поставляться из названия листа.
Нажмем на кнопку, и как видите, сформировались все листы, и в каждом листе, в этой ячейки у нас будет находиться имя сотрудника.
Ну либо того, что у вас будет находилась в списке, при условии, что эти значения уникальны.
Если же всё-таки вам нужно будет сделать два листа для одной уникальной записи, тут могу предложить следующее.
Изменим в коде диапазон на А4 , так как у нас ещё один пункт добавился и в цикле исправим на четыре.
Удалим всё снова и нажмем на кнопку. Опять ошибка, как вариант предлагаю добавить пробел в конце названия дублируемого пункта списка.
В итоге у нас получилось два Ивановых, конечно лучше использовать уникальные значения, тогда этот пример будет достаточно хорошо вам подходить.
В Excel можно легко вставлять, переименовывать и удалять листы книги.
Вставка листа
Нажмите значок "плюс" в нижней части экрана.
Можно также на вкладке Главная нажать кнопку Вставить и выбрать команду Вставить лист.
Переименование листа
Чтобы быстро переименовать лист, дважды щелкните его имя на ярлычке Лист.
Или щелкните ярлычок Лист правой кнопкой мыши, выберите команду Переименовать и введите новое имя.
Удаление листа
Щелкните правой кнопкой мыши ярлычок Лист и выберите команду Удалить.
Можно также выбрать лист, а затем на вкладке Главная нажать кнопку Удалить и выбрать команду Удалить лист.
Примечание: Ярлычки листов отображаются по умолчанию. Если вы не видите их, щелкните Параметры > Дополнительно > Показать параметры для следующей книги > Показывать ярлычки листов.
Чтобы вставить новый лист, выполните одно из следующих действий.
Чтобы быстро вставить новый лист после существующих, щелкните вкладку Вставить лист в нижней части экрана.
Чтобы вставить новый лист перед существующим, выберите нужный лист и затем на вкладке Главная в группе Ячейки нажмите кнопку Вставить, а потом выберите пункт Вставить лист.
Совет: Можно также щелкнуть правой кнопкой мыши ярлычок существующего листа и выбрать команду Вставить. На вкладке Общие щелкните Лист, а затем нажмите кнопку ОК.
Примечание: Чтобы изменить порядок следования листов в книге, щелкните ярлычок листа, который необходимо переместить, и перетащите его в необходимое местоположение.
Выберите нужное действие
Одновременная вставка нескольких листов
Удерживая нажатой клавишу SHIFT, выберите столько ярлычков листов книги, сколько листов требуется вставить в открытую книгу.
Например, если требуется добавить три новых листа, выберите три ярлычка существующих листов.
На вкладке Главная в группе Ячейки щелкните Вставить, а затем выберите Вставить лист.
Совет: Можно также щелкнуть выделенные ярлычки листов правой кнопкой мыши, а затем выбрать пункт Вставить. На вкладке Общие щелкните Лист, а затем нажмите кнопку ОК.
Чтобы изменить порядок следования листов в книге, щелкните ярлычок листа, который необходимо переместить, и перетащите его в необходимое местоположение.
Изменение количества листов по умолчанию в новой книге
Откройте вкладку Файл.
Что такое кнопка Microsoft Backstage и где она находится?
Дополнительные сведения о кнопке Microsoft Backstage см. в статье Что такое представление Microsoft Backstage, и где оно находится?
В разделе Excel выберите пункт Параметры.
На вкладке Общие в группе При создании новых книг в поле Число листов введите количество листов, которые по умолчанию должны включаться в новую книгу.
Чтобы вернуться к файлу, откройте любую другую вкладку.
Вставка нового листа, основанного на настраиваемом шаблоне
При необходимости создайте шаблон листа, на основе которого будет создан новый лист.
Как создать шаблон листа
Выберите лист, который вы хотите использовать в качестве шаблона.
Откройте вкладку Файл.
В разделе Сведения нажмите кнопку Сохранить как.
В поле Имя файла введите имя шаблона листа.
Чтобы создать настраиваемый шаблон листа, введите нужное имя.
Чтобы создать стандартный шаблон листа, введите sheet.
Примечание: Настраиваемые шаблоны автоматически сохраняются в папке Шаблоны. Стандартный шаблон листа (sheet.xltx или sheet.xltm) должен сохраняться в папке XLStart, которая обычно находится по адресу C:\Program Files\Microsoft Office\Office14\XLStart.
Выполните одно из указанных ниже действий.
На компьютере под управлением Windows Vista выберите в списке пункт Шаблон Excel или Шаблон Excel с поддержкой макросов.
На компьютере под управлением Microsoft Windows XP в окне Сохранить как выберите пункт Шаблон Excel или Шаблон Excel с поддержкой макросов.
Щелкните правой кнопкой мыши ярлычок листа и выберите команду Вставить.
Дважды щелкните нужный шаблон листа.
Переименование листа
В строке ярлычков листов щелкните правой кнопкой мыши ярлычок, который требуется переименовать, и выберите команду Переименовать.
Выделите текущее имя и введите новое.
Совет: При печати листа можно вывести его имя.
Как печатать имена листов
На вкладке Вставка в группе Текст нажмите кнопку Колонтитулы.
В режиме разметки щелкните в том месте, где должно отображаться имя листа.
В группе Работа с колонтитулами нажмите кнопку Имя листа .
Удаление одного или нескольких листов
Выделите лист или листы, которые требуется удалить.
Совет: Если выделено несколько листов, в строке заголовка вверху листа появится надпись [Группа]. Чтобы отменить выделение нескольких листов книги, щелкните любой невыделенный лист. Если невыделенных листов нет, щелкните правой кнопкой мыши ярлычок выделенного листа и в контекстном меню выберите команду Разгруппировать листы.
На вкладке Главная в группе Ячейки щелкните стрелку справа от кнопки Удалить и выберите пункт Удалить лист.
Совет: Можно также щелкнуть правой кнопкой мыши ярлычок листа или любого из выделенных листов, которые необходимо удалить, и выбрать команду Удалить лист.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Странно, но в Excel невозможно напрямую сгенерировать список имен листов из книги. В этой статье будет рассказано, как создать список всех листов, содержащихся в книге. Как и в предыдущей статье, здесь мы будем использовать макрофункцию из Excel 4 XLM в именованной формуле.
Начнем с книги, в которой много рабочих листов или листов с диаграммами. Выполните следующие действия, чтобы создать список названий листов.
- Вставьте новый лист, на котором будет находиться список.
- Выполните команду Формулы ► Присвоить имя, чтобы открыть диалоговое окно Создание имени.
- Впишите в поле Имя название Список.
- Введите следующую формулу в поле Диапазон (рис. 9.1): =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"") .
- Осталось нажать ОК, чтобы закрыть диалоговое окно Создание имени.
Рис. 9.1. Работа с окном Создание имени для создания именованной формулы
Обратите внимание: в формуле используется функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ, которая не относится к числу стандартных функций рабочего листа. Это макрофункция, написанная в сравнительно старом XLM-стиле и предназначенная для применения на специальном листе макросов. При использовании аргумента 1 она возвращает массив имен листов, причем перед именем каждого листа указано название книги, откуда он взят. Функции ЗАМЕНИТЬ и НАЙТИ удаляют имя книги, сопутствующее названию листа. Чтобы сгенерировать имена листов, введите в ячейку А1 следующую формулу, а затем скопируйте ее ниже по столбцу: =ИНДЕКС(Список;СТРОКА()) .
Рис. 9.2. Использование формулы для отображения списка имен листов
Список названий листов можно откорректировать, если вы будете добавлять, удалять или переименовывать листы, но это не происходит автоматически. Чтобы принудительно обновить формулы, нажмите Ctrl+Alt+F9. Если вы хотите, чтобы имена листов автоматически обновлялись при пересчете книги, измените именованную формулу следующим образом, чтобы сделать ее меняющейся: =ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"")&Т(ТДАТА()) .
Рис. 9.3. Создание списка гиперссылок
Если вы пользуетесь такими приемами, то книгу нужно сохранить как файл с поддержкой макросов (в формате *.xlsm или *.xls).
Читайте также: