Заполнение бланков данными из таблицы
Постановка задачи
Имеем базу данных (список, таблицу — называйте как хотите) с информацией по платежам на листе Данные:
Задача: быстро распечатывать приходно-кассовый ордер (платежку, счет-фактуру…) для любой нужной записи выбранной из этого списка. Поехали!
Шаг 1. Создаем бланк
На другом листе книги (назовем этот лист Бланк) создаем пустой бланк. Можно самостоятельно, можно воспользоваться готовыми бланками, взятыми, например, с сайтов журнала «Главный Бухгалтер» или сайта Microsoft. У меня получилось примерно так:
В пустые ячейки (Счет, Сумма, Принято от и т.д.) будут попадать данные из таблицы платежей с другого листа — чуть позже мы этим займемся.
Шаг 2. Подготовка таблицы платежей
Прежде чем брать данные из таблицы для нашего бланка, таблицу необходимо слегка модернизировать. А именно — вставить пустой столбец слева от таблицы. Мы будем использовать для ввода метки (пусть это будет английская буква «икс») напротив той строки, данные из которой мы хотим добавить в бланк:
Шаг 3. Связываем таблицу и бланк
Для связи используем функцию ВПР (VLOOKUP) — подробнее про нее можно почитать здесь. В нашем случае для того, чтобы вставить в ячейку F9 на бланке номер помеченного «x» платежа с листа Данные надо ввести в ячейку F9 такую формулу:
=ВПР(«x»;Данные!A2:G16;2;0)
=VLOOKUP(«x»;Данные!B2:G16;2;0)
Т.е. в переводе на «русский понятный» функция должна найти в диапазоне A2:G16 на листе Данные строку, начинающуюся с символа «х» и выдать нам содержимое второго столбца этой строки, т.е. номер платежа.
Аналогичным образом заполняются все остальные ячейки на бланке — в формуле меняется только номер столбца.
Для вывода суммы прописью я воспользовался функцией Propis из надстройки PLEX.
В итоге должно получиться следующее:
Шаг 4. Чтобы не было двух «х»…
Если пользователь введет «х» напротив нескольких строк, то функция ВПР будет брать только первое найденное значение. Чтобы не было такой многозначности, щелкните правой кнопкой мыши по ярлычку листа Данные и выберите Исходный текст (Source Code). В появившееся окно редактора Visual Basic скопируйте следующий код:
Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long Dim str As String If Target.Count > 1 Then Exit Sub If Target.Column = 1 Then str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count, 2).End(xlUp).Row Range("A2:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub
Этот макрос не дает пользователю ввести больше одного «х» в первый столбец.
Ну, вот, собственно и все! Пользуйтесь!
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для подстановки значений
- Улучшенный вариант функции ВПР (VLOOKUP)
- Сумма прописью (функция Propis) из надстройки PLEX
Содержание
- Создание формы заполнения документов в Excel
- Видео инструкция
- Подготовка
- Автоматизация формы
- Дата договора
- Сумма договора
- Срок прописью
- Заполнение заказчика
- Склонение ФИО подписанта
- Склонение должности и других фраз
- Итоговая форма
- Автоматическое заполнение бланков excel по списку
- Для работы с надстройкой необходимо:
- Заполнение шаблонов документов через Excel
- Задача
- Реализация
- Заполнение документов
- Сохранение данных в реестре на отдельном листе
- Повторяющаяся информация
Создание формы заполнения документов в Excel
Видео инструкция
Подготовка
Нам потребуется обычный файл Excel. Вы можете взять за основу имеющийся или начать с чистого листа.
Составляем список данных, которыми нам требуется заполнять договор: номер, дата, предмет договора, сумма, срок, данные заказчика и так далее. Для каждого элемента нам потребуется создать в Excel свою ячейку для заполнения. У меня получилась примерно такая форма:
Оформление может быть любым, на ваш вкус и цвет. При формировании формы я использовал стили, расположенные на вкладке Главная. Это быстро и удобно, а также позволяет в один клик изменить цветовую гамму на вкладке меню «Разметка страницы» — «Тема»
Автоматизация формы
Часть данных (номер договора, сумма, срок), необходимо заполнять всегда тут ничего не сделаешь. Но как мы видим есть часть данных, которые хорошо бы заполнить автоматически. Это — сумма прописью, срок прописью, данные заказчика в родительном падеже и так далее. Давайте их автоматизируем.
Дата договора
В Excel существует множество функций по работе с датами. Если дата договора всегда текущая, то можно использовать функцию =СЕГОДНЯ(). При необходимости можно настроить, чтобы дата рассчитывалась как следующий рабочий день =РАБДЕНЬ(СЕГОДНЯ();1).
Для вставки даты вы можете использовать календарь из программы:
Сумма договора
Тут можно автоматизировать заполнение значения суммы договора прописью, для этого в программе есть специальная кнопка Деньги прописью, которая поможет сформировать формулу для автоматического расчета. Программа умеет склонять по всем падежам и поддерживает формирование суммы в нескольких форматах.
Срок прописью
Срок прописью аналогично, хочется вводить только цифры, чтобы в документ вставлялось прописью полностью. Кстати, это касается не только срока, это может быть количество чего угодно: услуги, штуки, килограммы, яблоки, помидоры и так далее. В программе Doc.filler все это можно автоматизировать. Откройте функции и выберите Вещи прописью.
В диалоговом окне сформируйте нужную вам формулу.
Заполнение заказчика
Данные заказчика идеально подгружать из внутренней системы заказчика 1С или другой CRM. Если такой возможности нет, то для начала можно упростить жизнь путем создания справочника правовых форм (ООО, ОАО и т.д.) Тогда нам потребуется просто выбрать из списка нужную форму и указать наименование. Остальное мы сделаем на формулах.
Итак создадим отдельный лист и разместим там таблицу со списком правовых форм.
Таблицу можно отформатировать как табличный диапазон, так с ней будет проще работать далее.
Теперь на форме создадим динамичный выпадающий список с данными правовых форм.
Осталось создать формулы для заполнения заказчика сокращенно в моем случае это формула = Правовая_форма &» «& Заказчик_наименование . Замените на соответствующие ячейки.
Формула для полного наименования заказчика следующая =ВПР( Правовая_форма ; ПравовыеФормы ;2;0)&» «& Заказчик_наименование . ПравовыеФормы — название таблицы со справочником форм.
Результат выглядит следующим образом:
Склонение ФИО подписанта
Сейчас посмотрим как автоматически склонять ФИО подписанта. Для этого в программе есть соответствующая функция, которую можно вставить из меню:
Программа умеет склонять 90% русских ФИО по всем падежам.
Склонение должности и других фраз
Аналогичным образом склоняются должности и другие короткие фразы договора, например Устав. Вставьте функцию Склонение фраз через ленту меню:
Итоговая форма
В результате мы создали форму и автоматизировали часть информации, чтобы не приходилось вводить ее по нескольку раз.
Следующим нашим шагом будет создание шаблона договора и последующее его автоматическое заполнение данными из формы.
Источник
Автоматическое заполнение бланков excel по списку
Версия от 20.10.2021
Операционная система: Windows
Microsoft Office 2007/2010/2013/2016/2019/365
Надстройка для Excel позволяет пользователям заполнять любое количество бланков в Excel, используя список с исходными данными, хранящимися в Excel-файлах (.xls, .xlsm, .xlsx).
* вид диалогового окна на видео может отличаться от вида диалогового окна в надстройке последней версии.
Для работы с надстройкой необходимо:
1. Скачать архив с файлами (надстройка, комплект пользовательских функций, образец файла с исходными данными, вспомогательный файл для тестирования надстройки), который станет доступен для скачивания сразу после оплаты (порядок оплаты);
2. Установить надстройку (и при необходимости комплект пользовательских функций), следуя пошаговой инструкции по установке для различных версий Excel;
3. Подготовить рабочую книгу Excel с исходными данными:
а) наименования столбцов (шапка таблицы) должны находиться в первой строке листа;
б) наименования столбцов должны быть уникальными (не должны повторяться);
в) на листе не должно быть объединенных ячеек;
г) при необходимости воспользоваться функциями, входящими в комплект надстройки, которые позволяют преобразовать число в текст прописью, изменить падеж с именительного на родительный для ФИО и должности, преобразовать даты к виду «10» января 2016;
Инструменты Excel позволяют достичь высокой степени автоматизации при подготовке исходных данных.
4. Подготовить шаблоны бланков либо других документов Excel, для этого необходимо внести в документы Excel специальные метки. Такими метками служат наименования столбцов рабочей книги Excel с исходными данными, заключенные между символами нижнего подчеркивания и фигурных скобок. Например, для бланка почтового перевода подготовленный шаблон выглядит следующим образом:
5. Нажатием кнопки, расположенной на вкладке «Надстройки», вызвать диалоговое окно;
6. В диалоговом окне выбрать шаблон/шаблоны бланков либо других документов Excel и нажать кнопку «ОК».
Каждый выбранный в диалоговом окне шаблон документа поочередно заполняется данными каждой строки списка из рабочей книги Excel с исходными данными.
1) автоматически заполнять выбранный бланк Excel данными строки активного рабочего листа книги Excel;
2) автоматически заполнять выбранный бланк Excel данными всех строк рабочего листа книги Excel с исходными данными (при необходимости можно использовать стандартные фильтры Excel для выборочного отображения исходных данных);
3) автоматически заполнять несколько бланков Excel данными как одной, так и нескольких строк листа рабочей книги с исходными данными;
4) автоматически сохранять заполненные бланки/документы Excel под уникальными именами и сообщать пользователю имена файлов и пути к папкам, в которые они сохранены;
5) задавать путь к папке для сохранения заполненных документов (по умолчанию документы сохраняются в ту же папку, в которой расположен шаблон заполняемого документа);
6) использовать значения ячеек заданного столбца в именах заполняемых документов;
7) автоматически закрывать заполненные документы;
отключать вывод сообщений об именах заполненных документов и путях к папкам, в которые они сохранены;
9) сохранять настройки для последующих сеансов работы с надстройкой;
10) автоматически создавать копии заполненных документов в формате pdf.
+ помощь при установке
+ помощь при настройке
+ бесплатные обновления
+ без привязки к компьютеру
*В случае, если в надстройку будут внесены какие-либо изменения или дополнения, то обновленную версию надстройки Вы получите бесплатно.
Источник
Заполнение шаблонов документов через Excel
Задача
Необходимо автоматизировать заполнение большого количества однотипных документовWord данными из Excel. Например, такими данными как ФИО клиента, номер договора и так далее.
Проблема №1. Заполнение документов. Вручную заполнение десятков документов занимает приличное время. И повышает вероятность ошибок. Поэтому необходимо из формы в Excel заполнять данные в документах в автоматическом режиме.
Проблема №2. Сохранение данных в реестре на отдельном листе. Структурированные данные удобно обрабатывать, а также по ним можно заново сгенерировать документы. Да и просто удобнее хранить эти данные в табличной форме, а не в ворохе документов word.
Проблема №3. Повторяющаяся информация. Некоторые данные, например информация о юридических лицах, с которыми компания клиента часто работает, имеет однотипный характер. Поэтому необходимо автоматизировать внесение этой информации.
Реализация
Для начала необходимо указать программе, где хранятся шаблоны заполнения документов, и куда складывать готовые документы. Этот функционал был реализован через отдельный лист Excel. При нажатии на кнопку рядом с пунктом меню открывается диалоговое окно выбора папки, поэтому нет необходимости копировать пути из проводника.
Заполнение документов
Разобравшись с настройками, переходим к основному функционалу. Для начала необходимо пояснить, что есть шаблон для автоматического заполнения документов. Шаблон имеет следующий вид:
Это обычный документ word, который лежит в папке шаблонов, указанной в настройках программы. Внутри документа в тексте расставлены специальные метки, которые будут заменяться на данные из файла Excel при генерации документов. На картинке выше метки выделены желтым цветом. Метка имеет вид , где название метки — это название поля формы в Excel. Например, как выделенное фиолетовой рамкой поле «Номер договора» на картинке ниже.
При этом, при подготовке шаблонов, нет необходимости вводить эти метки вручную. Достаточно дважды кликнуть по названию поля формы и в буфер обмена будет скопирована нужная метка. Останется только вставить ее в документ Word (сочетание клавиш Ctrl + C).
После ввода данных нужно лишь нажать кнопку «Подготовить документы» на ленте меню и все документы из папки шаблонов будут обработаны, а готовые файлы будут сохранены в папке итоговых файлов, которая тоже указана в меню программы.
Однако при такой работе, после нескольких генераций, в папке итоговых файлов оказывается очень больше количество документов. Дабы упорядочить хранение файлов одно из полей формы выбирается для создания подпапок. В данном случае это поле «Гос. Знак тс цедента». То есть, при создании документов в папке итоговых файлов будет создана дополнительная директория с номером ТС. И уже в нее будут сохранятся документы. Но вообще поле может быть любым, также можно создать многоуровневую систему, основанную на нескольких полях. Например, подпапка с «Гос. знаком тс», а в ней подпапка с «номер договора».
Кнопка очистить форму служит, как ясно из названия для быстрой очистки формы.
Сохранение данных в реестре на отдельном листе
После создания документов данные записываются в реестр. При этом ключевым полем является номер договора. Если в реестре нет такого номера, то данные добавляются. В противном случае программа запросит разрешение на перезапись данных. Так же стоит учесть, что в реестр попадают не все данные из формы, а только те, имена полей которых совпадают с названием столбцов в реестре. При этом не нужно совершать никаких дополнительных манипуляций. Программа сама найдет все сопоставления и вставит нужные данные.
Если поставить курсор на номер договора и нажать кнопку «Заполнить форму», то программа сама заполнит форму по тому же принципу соответствия названий. Что очень удобно если понадобится, например, внести изменения в документы. Загружаем данные в форму, редактируем данные. После чего нажимаем «Подготовить документы» и программа сама обновит данные в документах и внесет изменения в реестр, запросив на это разрешения.
Повторяющаяся информация
Этот функционал был реализован через умные таблицы и формулы на форме. Сам список компаний выглядит так:
Это умная таблица, что позволяет добавлять и удалять любое количество данных, не внося изменения в формулы формы.
При воде в поле «Страховая» данные для полей «Ген. Дир. Страховой» и «Р/С Страховой» подтягиваются автоматически, если имя компании присутствует в таблице компаний.
Таким образом большой объем ручной работы решается очень быстро. Достаточно лишь ввести данные в форму и нажать «Подготовить документы», если этих данных нет в реестре. А если эти данные присутствуют, то решение этой задачи занимает буквально несколько кликов мыши. К тому же, значительно снижается вероятность ошибок. И появляется возможность анализа данных, благодаря хранению всех данных в реестре.
Источник
Версия от 20.10.2021
Операционная система: Windows
Microsoft Office 2007/2010/2013/2016/2019/365
Надстройка для Excel позволяет пользователям заполнять любое количество бланков в Excel, используя список с исходными данными, хранящимися в Excel-файлах (.xls, .xlsm, .xlsx).
Видео по работе с надстройкой
* вид диалогового окна на видео может отличаться от вида диалогового окна в надстройке последней версии.
Для работы с надстройкой необходимо:
1. Скачать архив с файлами (надстройка, комплект пользовательских функций, образец файла с исходными данными, вспомогательный файл для тестирования надстройки), который станет доступен для скачивания сразу после оплаты (порядок оплаты);
2. Установить надстройку (и при необходимости комплект пользовательских функций), следуя пошаговой инструкции по установке для различных версий Excel;
3. Подготовить рабочую книгу Excel с исходными данными:
а) наименования столбцов (шапка таблицы) должны находиться в первой строке листа;
б) наименования столбцов должны быть уникальными (не должны повторяться);
в) на листе не должно быть объединенных ячеек;
г) при необходимости воспользоваться функциями, входящими в комплект надстройки, которые позволяют преобразовать число в текст прописью, изменить падеж с именительного на родительный для ФИО и должности, преобразовать даты к виду «10» января 2016;
Инструменты Excel позволяют достичь высокой степени автоматизации при подготовке исходных данных.
4. Подготовить шаблоны бланков либо других документов Excel, для этого необходимо внести в документы Excel специальные метки. Такими метками служат наименования столбцов рабочей книги Excel с исходными данными, заключенные между символами нижнего подчеркивания и фигурных скобок. Например, для бланка почтового перевода подготовленный шаблон выглядит следующим образом:
5. Нажатием кнопки, расположенной на вкладке «Надстройки», вызвать диалоговое окно;
6. В диалоговом окне выбрать шаблон/шаблоны бланков либо других документов Excel и нажать кнопку «ОК».
Каждый выбранный в диалоговом окне шаблон документа поочередно заполняется данными каждой строки списка из рабочей книги Excel с исходными данными.
Надстройка позволяет:
1) автоматически заполнять выбранный бланк Excel данными строки активного рабочего листа книги Excel;
2) автоматически заполнять выбранный бланк Excel данными всех строк рабочего листа книги Excel с исходными данными (при необходимости можно использовать стандартные фильтры Excel для выборочного отображения исходных данных);
3) автоматически заполнять несколько бланков Excel данными как одной, так и нескольких строк листа рабочей книги с исходными данными;
4) автоматически сохранять заполненные бланки/документы Excel под уникальными именами и сообщать пользователю имена файлов и пути к папкам, в которые они сохранены;
5) задавать путь к папке для сохранения заполненных документов (по умолчанию документы сохраняются в ту же папку, в которой расположен шаблон заполняемого документа);
6) использовать значения ячеек заданного столбца в именах заполняемых документов;
7) автоматически закрывать заполненные документы;
отключать вывод сообщений об именах заполненных документов и путях к папкам, в которые они сохранены;
9) сохранять настройки для последующих сеансов работы с надстройкой;
10) автоматически создавать копии заполненных документов в формате pdf.
+ помощь при установке
+ помощь при настройке
+ бесплатные обновления
+ без привязки к компьютеру
*В случае, если в надстройку будут внесены какие-либо изменения или дополнения, то обновленную версию надстройки Вы получите бесплатно.
Программы и надстройки Excel для заполнения бланков и отчётов, создания и распечатки наклеек, этикеток, квитанций и ценников
-
Надстройка FillDocuments для MS Excel: общие сведения
Предназначение программы: заполнение множества документов данными из Excel нажатием одной кнопки.
Для работы программы требуется таблица Excel с данными для подстановки, и папка с шаблоном (шаблонами) документов.
В качестве шаблонов можно использовать файлы Word и Excel.
На выходе получаются заполненные файлы исходного… -
Надстройка PastePictures для MS Excel: общие сведения
Предназначение программы: вставка изображений в таблицу Excel, поиск картинок в папке или в Google, экспорт картинок из таблицы в папку.
Основные функции программы:вставка фото из папки (поиск по имени файла)
вставка картинок по ссылкам из таблицы
поиск изображений в гугл по данным с листа Excel
экспорт изображений с листа в файлы… -
Программа «Прайс лист», выполненная в виде надстройки для Excel, позволяет легко автоматизировать обработку прайс-листов.
Вспомните ситуацию: поставщики в очередной раз прислали свои прайс-листы в Excel — конечно, в совершенно разных форматах — и вам нужно объединить данные из всех этих файлов в одну таблицу. А составители этих таблиц будто специально хотели усложнить вам жизнь… -
Программа предназначена для создания и печати этикеток, наклеек, ценников и квитанций на основании данных в таблице Excel.При помощи этой программы вы можете:
распечатать ценники на товар, взяв данные из прайс-листа
сформировать этикетки и наклейки для заданных строк вашей таблицы
подготовить квитанции для оплаты услуг ЖКХ (счета за водоснабжение, канализацию, электроэнергию)…
-
Программа предназначена для облегчения ввода данных со сканера штрих-кодов в таблицу Excel.
Вы нажимаете кнопку на сканере, — в таблице Excel автоматически находится считанный штрих-код,
и в этой строке количество товара увеличивается на единицу.
Особенности программы:
2 режима фиксации ввода штрих-кода: по фиксированной длине, и по завершающему символу
возможность…
-
Надстройка для облегчения ввода значений в ячейку Excel
Автор: nerv
Last Update: 27/03/2012
Вам часто приходится заниматься заполнением электронных таблиц, долго и муторно выбирать варианты из выпадающих списков?
А, может, иметь дело с одними теми же, но не структурированными данными?
Раз так, то данная надстройка призвана облегчить Вам жизнь: сократить время, потраченное на нудную,… -
Программа предназначена для формирования (заполнения) договоров купли-продажи.
Исходными данными выступает таблица сделок, и шаблон договора, в который при помощи формул подставляются значения из заданной строки таблицы сделок.
Для запуска программы достаточно нажать зеленую кнопку — и сразу же начнётся формирование договоров (файлов Excel из одного листа) в автоматически созданной папке… -
Программа предназначена для автоматизации формирования договоров комиссии и купли автотранспортного средства.
В качестве исходных данных выступают:таблица Excel с реквизитами создаваемых документов
папка с шаблонами договоров (в формате dot)В исходной таблице Excel занесены все необходимые исходные данные для заполнения бланков договоров, а также, при помощи пользовательских формул (UDF),…
-
База данных «Преподаватели» предназначена для автоматизации работы администрации учебных заведений.Программа обеспечивает выполнение всех необходимых операций по приему документов, поиску и анализу информации, составлению отчетов.
Эта база данных представляюет собой урезанную и немного изменённую версию программы АИСС СПК.
Программа обеспечивает:
Хранение полной…
-
Программа предназначена для работы с заказами, оформляемыми менеджерами на выставках.Основные функции программы:
создание (заполнение) новых заказов
редактирование существующих заказов
объединение нескольких заказов в один
формирование заявки на продукцию на основании данных их сформированных заказов
Для каждого заказа предусмотрен выбор клиента из базы данных (если клиент…
-
Программа АИСС «СПК» предназначена для автоматизации работы приемной комиссии колледжей и техникумов.АИСС обеспечивает выполнение всех необходимых операций по приему документов, поиску и анализу информации, составлению отчетов.
Назначением программы является автоматизация труда работника приёмной комиссии учебного заведения.
Программа обеспечивает:
Хранение полной…
-
Программный комплекс, предназначенный для автоматизации учёта и администрирования сети связи телефонной или телекоммуникационной компании.Программа позволяет хранить и редактировать базу данных объектов (в виде файлов Excel), просматривать существующие трассы и формировать новые.
Особенность программы — возможность учёта и администрирования узлов связи с нестандартными…
-
Программа позволяет упростить ввод данных в бланк заявления на пополнение счёта.
Реализована проверка корректности ввода некоторых полей.
(например, для полей «серия паспорта» и «номер паспорта» реализована проверка вводимых символов — допускается ввод только заданного количества цифр)
Выбор большинства значений производится из выпадающих списков, что позволяет… -
Программа предназначена для составления учебного расписания.
На отдельных листах хранится список преподавателей вуза, список групп и занятий у этих групп по дням недели.
Макрос делает выборку по всем преподавателям (или по выбранному преподавателю),
фильтрует по заданной группе (курсу), если не выбрана опция «все курсы»,
сортирует по времени начала занятия, группирует по дню… -
Система учёта заявок предназначена для автоматизации ввода, редактирования и учёта заданий на заказ запасных частей для автомобилей.Программа позволяет производить поиск по базе данных, и распечатку информации о выбранном заказе.
Эта база данных представляет собой урезанную и немного изменённую версию программы АИСС СПК.
-
Программа анализирует поступившие заказы с интернет-магазина (письма в программе Outlook), извлекает необходимые данные из писем (в формате HTML), и формирует сводную таблицу заказов
Файл программы состоит из 2 листов — на первом листе находятся кнопки запуска, на втором — шаблон создаваемой сводной таблицы заказов.
Принцип работы программы:
при нажатии зеленой кнопки,…
-
Программа предназначена для работы с заявками на оборудование.Цели программы:
автоматизация составления и редактирования заявок
преобразование имеющихся заявок в виде отдельных файлов Excel различной структуры к единому виду
формирование отчётов по категориям и типам заявок
стандартизация печатной формы заявок
разграничение доступа на работу с базой данных заявок
…
-
Программа предназначена для вывода описания и изображений найденных в yandex.ru по заданному артиклю
На первом этапе работы макроса, производится поиск артикула, либо другого ключевого слова, в поисковой системе yandex.ru
(процесс поиска скрыт от пользователя, скриншот результатов поиска)
Полученные результаты поиска выводятся в виде списка на форме.
Пользователь из этого списка… -
Программа предназначена для автоматизации рабочего места сотрудника, отвечающего за регистрацию, прием на работу, и увольнение иностранных граждан.
В качестве исходных данных используется таблица изображенная на скриншоте.
В этой таблице содержится нужная информация, необходимая для заполнения шаблонов документов.
Программа заполняет следующие документы:Доверенность (doc)
Заявление на…
-
Данная программа предназначена для ввода данных о заказе и сортировки заказов по группам.Программа представляет собой шаблон Excel для создания, сортировки и сведения в общую таблицу, заказов различных категорий.
(категории можно менять вручную на отдельном листе).
Сотрудник регистрирует своё имя, выбирая его из выпадающего списка, а после выбора ФИО, в соседние поля подтягивается… -
Программа предназначена для формирования таблицы Excel для расчёта суммы оплаты за услуги ЖКХ (холодного и горячего водоснабжения)
В качестве исходных данных выступает таблица, в которой занесены показания счётчиков (расход горячей и холодной воды)
Макрос производит поиск клиентов в исходной таблице (по номеру лицевого счёта), и подставляет данные по этому клиенту в итоговую таблицу.
Вы… -
Программа предназначена для создания маркировальных этикеток для идентификации груза
В качестве исходных данных используется таблица (на скриншоте) имеющая следующие поля:НАИМЕНОВАНИЕ ТОВАРА
КОД ТНВЭД
КОЛИЧЕСТВО
ЕД. ИЗМ.
ВЕС НЕТТО
ВЕС БРУТТО
МЕСТА
ТИП УПАКОВКИ
ОБЪЕМ
ТОРГОВАЯ МАРКА
ПРОИЗВОДИТЕЛЬ
ФОТО
ЗАВОДСКАЯ МАРКИРОВКА
МАРКИРОВКА
НОМЕР ЗАЯВКИ…
Будем считать, что наша условная организация занимается поставками покупателям дорогостоящей строительной техники. Кроме непосредственно поставок, еще один из участков деятельности связан с ее ремонтом. Разрабатываемая далее книга Microsoft Excel будет включать несколько листов данных и несколько листов управления. Исходная ситуация такова: мы располагаем рядом клиентов (заказчиков), которые обращаются к нам по поводу ремонта проданной им техники (ремонт в течение гарантийного срока является вполне нормальным делом).
Технически сам ремонт, как правило, связан с заменой большого количества деталей. С учетом этого, очевидно, что существуют определенные трудности работы персонала, связанные с обеспечением хранения и извлечения необходимой информации по договорам с клиентами, а также с формированием отчетов по клиентам и договорам. В рабочей книге Microsoft Excel мы разработаем единую информационную базу, которая позволит существенно облегчить труд сотрудников офиса. Это облегчение работы будет достигнуто за счет размещения в книге элементов управления и последующего их программирования.
Итак, начнем работу с создания новой рабочей книги Microsoft Excel. Один из ее листов показан на рис. 3.1. В нем размещается справочная информация по нашим заказчикам (клиентам). Каждая строка на листе Клиенты представляет запись об одной из наших организаций-партнеров. Обратим внимание на то, что в дальнейшем в программных процедурах обращение к данному листу будет производиться по имени, поэтому следует присвоить ему имя Клиенты. Столбец Код предназначен для присвоения каждой фирме уникального кода (для того, чтобы однозначно идентифицировать каждую фирму). В целом информация, представленная в строках листа (см. рис. 3.1), достаточно стандартная: название, адрес, телефон, факс и ряд финансовых реквизитов.
Рис. 3.1. Справочная информация о клиентах
В верхней части листа располагается кнопка для ввода очередной записи о новой фирме. Конечно, пользователь, при появлении у нашей организации очередного партнера, может непосредственно внести информацию о нем в очередную свободную строку. Однако для удобства, с одной стороны, и контроля возможных технических ошибок, с другой, мы разработаем более удобную технологию.
К кнопке ввода нового клиента мы еще вернемся, а пока разберем следующий шаг, связанный с созданием формы ввода, которая приведена на рис. 3.2. От пользователя требуется внести данные в необходимые поля и щелкнуть на кнопке Внести для фиксации введенной информации на листе Клиенты. Это приведет к тому, что в очередную свободную строку листа будут внесены сведения по новой фирме. При этом процедура обработки щелчка на кнопке Внести предварительно проверит, встречался ли уже такой код у фирм. Если да, то ввод будет отменен. Также ввод будет отменен, если пользователь оставит поле пустым. Кроме того, процедура посмотрит: не является ли данная запись дублирующей (если уже имеется строка, включающая данное название фирмы, а также указанный адрес). И в этом случае ввод информации на лист Клиенты будет отменен.
Рис. 3.2. Форма ввода информации о клиентах
Таким образом, наша ближайшая цель — создать форму ввода (рис. 3.2) и расположить на ней необходимые элементы управления. С формами мы еще не сталкивались, поэтому рассмотрим процесс их создания более подробно. Для создания пользовательской формы необходимо перейти в окно редактора Visual Basic. Здесь требуется воспользоваться разделом UserForm в меню Insert (рис. 3.3). В результате на экране появится новая форма, которая фактически представляет собой контейнер для размещения на ней необходимых элементов управления.
Рис. 3.3. Пользовательская форма в среде Microsoft Visual Basic
У формы, как и у любого элемента управления, есть свойства. Для того чтобы открыть окно свойств, следует воспользоваться разделом Properties Window из меню View. Изменим значение Name на Client, а также значение свойства Caption — Форма для ввода нового клиента. В результате в заголовке формы будет отражен новый текст. Что касается свойства Name, то оно нам понадобится при работе с формой (при активизации формы).
Далее расположим на форме необходимые элементы управления. Для этого сначала необходимо отобразить на экране панель инструментов (View ► Toolbox). В соответствии с рис. 3.2 на форме нам следует разместить 7 элементов управления типа Label (надпись) и 7 элементов TextBox (текстовое окно). При этом значения свойства Name для надписей принципиального значения не имеют, так как программно мы обращаться к ним не будем. Для этих элементов выберите рассматриваемые значения произвольно (главное, чтобы не было повторяющихся имен — иначе среда Microsoft Visual Basic обратит на это внимание). Аналогичное свойство для текстовых окоп лам потребуется в программных процедурах, поэтому в табл. 3 приведены значения свойства Name текстовых окон, которые следует установить.
Таблица 3.1. Значения свойства Name текстовых окон
Подпись | Name |
---|---|
Код | Cod |
Название фирмы | Firma |
Адрес | Adress |
Телефон | Tel |
Факс | Fax |
ИНН | Inn |
КПП | Kpp |
От пользователя требуется внести информацию в текстовые окна, расположенные на форме, после чего щелкнуть на кнопке Внести. Это приводит к выполнению процедуры, которая должна предварительно проверить корректность вводимых данных. Если на листе запись с указанным кодом фирмы уже существует, то процедура обратит на это внимание. Также процедура обратит внимание, если на листе уже присутствует фирма с аналогичным названием и с тем же указанным адресом. Текст данной процедуры приведен в листинге 3.1.
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 |
' Листинг 3.1. Обработка щелчка на кнопке Внести на форме Private Sub CommandButton1_Click() If Cod.Text = "" Then MsgBox ("Поле КОД необходимо заполнить") Exit Sub End If Nom = 0 While Worksheets("Клиенты").Cells(Nom + 2, 2).Value <> "" Nom = Nom + 1 Wend For i = 1 To Nom If CStr(Worksheets("Клиенты").Cells(i + 1, 2).Value = _ CStr(Firma.Text) And _ CStr(Worksheets("Клиенты").Cells(i + 1, 3).Value) = _ CStr(Adress.Text)) Then MsgBox ("Такой код фирмы уже встречался") Exit Sub End If Next Worksheets("Клиенты").Cells(i + 1, 1).Value = Cod.Text Worksheets("Клиенты").Cells(i + 1, 2).Value = Firma.Text Worksheets("Клиенты").Cells(i + 1, 3).Value = Adress.Text Worksheets("Клиенты").Cells(i + 1, 4).Value = Tel.Text Worksheets("Клиенты").Cells(i + 1, 5).Value = Fax.Text Worksheets("Клиенты").Cells(i + 1, 6).Value = Inn.Text Worksheets("Клиенты").Cells(i + 1, 7).Value = Kpp.Text MsgBox ("Информация внесена") Client.Hide End Sub |
Новый момент связал с предпоследней строкой текста в листинге 3.1. Здесь для формы Client применяется метод Hide, который приводит к закрытию этой формы. Разумеется, ее необходимо сначала отобразить, и об этом мы еще не упоминали. В листинге 3.2 приведена процедура, которая выполняется по щелчку на кнопке Ввести нового клиента (см. рис. 3.1). Здесь для отображения на экране формы Client используется метод Show.
1 2 3 4 |
' Листинг 3.2. Обработка щелчка на кнопке Ввести нового клиента Private Sub CommandButton1_Click() Client.Show End Sub |
На рис. 3.4 приведен результат заполнения формы данными об очередной фирме. Теперь щелчком на кнопке Внести это данные переносятся на текущий рабочий лист (в очередную свободную строку).
Рис. 3.4. Внесение информации о новом клиенте
Перейдем к разработке еще двух листов. Один из них под названием Номенклатура показан на рис. 3.5. В каждой строке листа располагается название конкретной запасной части. Значение в столбце Номер запчасти позволяет однозначно ее идентифицировать.
Рис. 3.5. Информация о номенклатуре
Лист Номенклатура является справочным и не содержит элементов управления. Технически пользователь просто вручную заполняет данный прайс-лист. Еще один лист, который также не содержит элементов управления, показан на рис. 3.6. Здесь содержится информация о заказах — названиях и их составе. Столбец А предназначен для уникального кода каждого заказа. Далее располагаются поля для отображения даты заказа и кода фирмы (по коду фирмы легко определить необходимые реквизиты организации).
Рис. 3.6. Лист для хранения информации о заказах
Начиная с пятого столбца размещается информация о запасных частях, которые входят в заказ. Структура этой информации выглядит следующим образом: в пятом столбце код запчасти, далее в шестом количество таких запчастей в заказе, затем в седьмом столбце код другой запчасти, и далее их количество. Таким образом, в каждой строке перечисляется все содержимое определенного заказа. Понятно, что вручную заполнять подобную информацию не слишком удобно. Для этого мы создадим специальный лист с необходимыми элементами управления. В результате будет обеспечено удобство для пользователя, а также контроль уникальности кода заказа. Лист, который будет выполнять необходимый «функционал», показан на рис. 3.7. В качестве названия листа выберем Бланк для нового заказа.
Рассмотрим организацию листа Бланк для нового заказа и техническую работу пользователя с ним. Ячейка C1 отводится для номера заказа. Ниже поясняющего текста Заказчик (расположенного в ячейке А1) располагается элемент управления «Поле со списком». В качестве значения свойства Name этого элемента управления выбрано Firma. Ниже поясняющего текста Список запчастей располагается еще один элемент управления «Поле со списком». В качестве значения свойства Name выбрано Spk.
Щелчком на определенной запчасти она включается в заказ, который формируется с 11-й строки на данном листе. Столбцы Номер запчасти, Наименование и Цена заполняются исходя из имеющейся информации на листе Номенклатура. Пользователю следует лишь внести количество единиц указанной детали в перечне запасных частей. Для этого предназначено текстовое окно (Name — Col) с надписью выше — Количество. После этого осталось щелкнуть на кнопке Включить (Name — InputNom), и в очередную свободную строку на данном листе запишется новая позиция заказа.
Рис. 3.7. Лист для формирования заказа
После того как список запасных частей таким образом заполнен и номер заказа указан, осталось щелкнуть на кнопке Включить в список заказов. В качестве значения свойства Name этой кнопки выбрано InputSpk. За счет программной процедуры это приводит к переносу информации о заказе на лист Названия заказов. Таким образом, теперь можно перейти к рассмотрению процедур, которые обеспечивают выполнение описанных действий. Когда пользователь в процессе работы с книгой переходит на лист Бланк для нового заказа, списки заказчиков и запасных частей должны быть заполнены. Проще всего это обеспечить с помощью процедуры, выполняемой при активизации листа, которая представлена в листинге 3.3.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
' Листинг 3.3. Процедура, выполняемая при активизации листа Private Sub Worksheet_Activate() Firma.Clear N = 0 While Worksheets("Клиенты").Cells(N + 2, 1).Value <> "" N = N + 1 Wend For i = 1 To N Firma.AddItem Worksheets("Клиенты").Cells(i + 2, 2).Value Next Spk.Clear N = 0 While Worksheets("Nomen").Cells(N + 2, 1).Value <> "" N = N + 1 Wend For i = 1 To N Spk.AddItem Worksheets("Nomen").Cells(i + 1, 1).Value + _ "" + Worksheets("Номенклатура").Cells(i + 1, 2).Value + "" + _ CStr(Worksheets("Номенклатура").Cells(i + 1, 3).Value) + "руб." Next End Sub |
Приведенная процедура заполнения полей со списками организаций и запчастей похожа на рассмотренные ранее примеры и не требует комментария. Более интересна следующая процедура (листинг 3.4), которая выполняется при щелчке на кнопке Включить.
1 2 3 4 5 6 7 8 9 10 11 12 |
' Листинг 3.4. Процедура обработки щелчка на кнопке Включить Private Sub InputNom_Click() Nom = Spk.ListIndex N = 0 While Cells(N + 11, 1).Value <> "" N = N + 1 Wend Cells(N + 11, 1) = Worksheets("Номенклатура").Cells(Spk.ListIndex + 2, 1) Cells(N + 11, 2) = Worksheets("Номенклатура").Cells(Spk.ListIndex + 2, 2) Cells(N + 11, 3) = Worksheets("Номенклатура").Cells(Spk.ListIndex + 2, 3) Cells(N + 11, 4) = Col.Text End Sub |
Здесь в переменную Nom заносится индекс (номер) элемента, который выделен в элементе управления «Поле со списком», отведенном для запасных частей. Далее подсчитывается число уже заполненных позиций в заказе — они располагаются начиная с 11-й строки. После этого в следующую свободную строку заносится очередная запись. При этом количество единиц указанной позиции заказа извлекается из содержимого текстового окна Col.
Теперь на очереди другая процедура (листинг 3.5), которая переносит информацию с листа Бланк для нового заказа на лист Названия заказов, о котором мы уже говорили. В начале процедуры InputSpk_Click() предварительно проверяется — внесена ли информация в ячейку C1. Далее производится поиск присутствия заказа с указанным на листе номером. В случае положительного ответа на этот вопрос процедура не производит запись, а возвращает пользователя к работе с листом формирования нового заказа. В случае уникальности нового номера заказа процедура последовательно переносит имеющуюся информацию в каталог заказов. Для формирования даты используется стандартная функция VBA Date.
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 40 41 42 43 44 45 46 47 48 49 50 |
' Листинг 3.5. Процедура обработки щелчка на кнопке Включить в список заказов Private Sub InputSpk_Click() ' Номер потенциального заказа VerZakaz = CStr(Range("C1").Value) If VerZakaz = "" Then MsgBox ("Поле кода заказа необходимо заполнить") Exit Sub End If If Firma.ListIndex = -1 Then MsgBox ("Необходимо указать фирму") Exit Sub End If ' Извлечение информации о коде фирмы CodFirma = Worksheets("Клиенты").Cells(Firma.ListIndex + 2, 1).Value ' Подсчет числа имеющихся заказов N = 0 While Worksheets("Названия заказов").Cells(N + 2, 1).Value <> "" N = N + 1 Wend ' Проверка возможного повтора номера заказа For i = 1 To N CodList = Worksheets("Названия заказов").Cells(i + 1, 1).Value If CStr(CodList) = VerZakaz Then MsgBox ("Такой номер заказа уже встречался") Exit Sub End If Next ' Запись информации о данном заказе Worksheets("Названия заказов").Cells(N + 2, 1).Value = Range("C1").Value ' Использование стандартной функции для получения даты Worksheets("Названия заказов").Cells(N + 2, 2).Value = Date Worksheets("Названия заказов").Cells(N + 2, 3).Value = CodFirma ' Вводим переменную для подсчета суммы NDetal = 0 While Cells(NDetal + 11, 2).Value <> "" NDetal = NDetal + 1 Wend ' Подсчет числа деталей в заказе SymmaItog = 0 For i = 1 To NDetal Worksheets("Названия заказов").Cells(N + 2, 5 + (i - 1) * 2).Value = _ Cells(i + 10, 1).Value Worksheets("Названия заказов").Cells(N + 2, 5 + (i - 1) * 2 + 1).Value = _ Cells(i + 10, 4).Value SymmaItog = SymmaItog + CLng(Cells(i + 10, 4).Value) * _ CLng(Cells(i + 10, 3).Value) Next Worksheets("Названия заказов").Cells(N + 2, 4).Value = SymmaItog MsgBox ("Заказ включен") End Sub |
Таким образом, мы обеспечили удобный механизм внесения информации в лист Названия заказов. На рис. 3.8 показан результат ввода двух заказов на запасные части.
Рис. 3.8. Пример формирования заказов
Перейдем к отчетам, и один из них показан на рис. 3.9. На этом листе часть информации статична (заголовок и подписи столбцов), а ряд ячеек заполняется исходя из содержания конкретного заказа, которое зафиксировано на листе Названия заказов.
Рис. 3.9. Отчет о заказе
Нам требуется программно обеспечить заполнение ячеек листа, отводимых для номера заказа, заказчика, а также заполнение адреса, телефона и факса. Табличная часть на рис. 3.9 используется в случае, если число позиций в заказе не превышает трех. В противном случае данная табличная часть не заполняется, а создается другой документ — Приложение (рис. 3.10). Наша задача — обеспечить данные функциональные особенности разрабатываемой книги.
Рис. 3.10. Приложение к отчету о заказе
Для заполнения отчета о заказе (и при необходимости приложения к нему) па листе Названия заказов создадим кнопку Создать отчет (см. рис. 3.8). По нажатию этой кнопки будет открываться форма, где от пользователя требуется выбрать заказ, по которому необходимо сформировать отчет. На рис. 3.11 показана данная форма ввода в окне редактора Visual Basic.
Процедура, вызываемая щелчком на кнопке Создать отчет, представлена в листинге 3.6. Ее назначение — открыть форму, обеспечивающую необходимый интерфейс для формирования отчета (см. рис. 3.11).
1 2 3 4 |
' Листинг 3.6. Процедура обработки щелчка на кнопке Создать отчет Private Sub CommandButton1_Click() Zakaz.Show End Sub |
Рис. 3.11. Форма выбора заказа для отчета
В листинге 3.7 приведена процедура, которая выполняется при активизации формы. Ее назначение заключается в заполнении элемента управления «Поле со списком». При этом сначала подсчитывается количество заказов, уже имеющихся в базе данных. Информация о том, какая фирма его сделала, расположена на листе Клиенты. Поэтому для заполнения поля со списком на рис. 3.11 необходимо обратиться к информации о клиентах.
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 |
' Листинг 3.7. Процедура, выполняемая при активизации формы Private Sub UserForm_Activate() ' Подсчет числа заказов Nom = 0 While Worksheets("Названия заказов").Cells(Nom + 2, 1).Value <> "" Nom = Nom + 1 Wend ' Подсчет числа фирм Nfir = 0 While Worksheets("Клиенты").Cells(Nfir + 2, 1).Value <> "" Nfir = Nfir + 1 Wend ' Очистка и последующее заполнение поля со списком Spk.Clear ' Перебор числа заказов For i = 1 To Nom ' Извлечение кода фирмы NomFirma = Worksheets("Названия заказов").Cells(i + 1, 3).Value For j = 1 To Nfir If NomFirma = Worksheets("Клиенты").Cells(j + 1, 1).Value Then Firma = Worksheets("Клиенты").Cells(j + 1, 2).Value ' При нахождении фирмы выход из цикла Exit For End If Next Spk.AddItem CStr(Worksheets("Названия заказов").Cells(i + 1, 1).Value) _ + " " + CStr(Worksheets("Названия заказов").Cells(i + 1, 2).Value) _ + " " + CStr(Firma) Next End Sub |
Теперь пользователь должен выбрать интересующую его фирму (рис. 3.12). Следующая процедура — обработка щелчка на кнопке Заполнить акт и приложение. Учитывая сложность полного программного кода, приведем его сначала для варианта заполнения только листа АКТ (листинг 3.8).
Рис. 3.12. Выбор заказа для отчета
В зависимости от количества позиций заказа процедура позволяет заполнить или только лист АКТ, или параллельно с актом еще и лист Приложение. В листинге 3.8 приведен первоначальный вариант, который приводит к заполнению только листа АКТ (в случае количества заявок не более трех).
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
' Листинг 3.8. Процедура обработки щелчка на кнопке Заполнить акт и приложение Private Sub CommandButton1_Click() ' Определяем индекс выбранного заказа в списке NomSpk = Spk.ListIndex ' Подсчет количества деталей в выбранном заказе ColDet = 0 While Worksheets("Название заказа").Cells(NomSpk + 2, _ 5 + ColDet * 2).Value <> "" ColDet = ColDet + 1 Wend ' Подсчет количества позиций деталей по прайсу NPrais = 0 While Worksheets("Номенклатура").Cells(NPrais + 2, _ 1).Value <> "" NPrais = NPrais + 1 Wend ' Подсчет числа фирм NFirm = 0 While Worksheets("Клиенты").Cells(NFirm + 2, 1).Value <> "" NFirm = NFirm + 1 Wend ' Извлекаем код фирмы в выбранном заказе CodFirm = Worksheets("Название заказа").Cells(NomSpk + 2, 3).Value For i = 1 To NFirm ' Нахождение реквизитов фирмы по ее коду If CodFirm = Worksheets("Клиенты").Cells(i + 1, 1).Value Then Название заказа = Worksheets("Клиенты").Cells(i + 1, 2).Value Adr = Worksheets("Клиенты").Cells(i + 1, 3).Value Tel = Worksheets("Клиенты").Cells(i + 1, 4).Value Fax = Worksheets("Клиенты").Cells(i + 1, 5).Value Exit For End If Next ' Внесение найденных реквизитов в поля на листе АКТ Worksheets("Акт").Cells(6, 3).Value = Nazv Worksheets("Акт").Cells(7, 3).Value = "ADRES:" + Adr Worksheets("Акт").Cells(8, 3).Value = "telefon:" + Tel Worksheets("Акт").Cells(9, 3).Value = "phaks:" + Fax Worksheets("Акт").Cells(6, 5).Value = _ Worksheets("Название заказа").Cells(NomSpk + 2, 1) ' Очистка области для перечня запасных частей Worksheets("Акт").Range("A13:F15") = "" ' Заполнение табличной части листа АКТ If ColDet < 4 Then For i = 1 To ColDet ' Формирование порядкового номера перечня Worksheets("Акт").Cells(i + 12, 1).Value = i Worksheets("Акт").Cells(i + 12, 2).Value = _ Worksheets("Название заказа").Cells(NomSpk + 2, _ 5 + (i - 1) * 2).Value For j = 1 To NPrais If CStr(Worksheets("Акт").Cells(i + 12, 2).Value) = _ CStr(Worksheets("Номенклатура").Cells(j + 1, 1).Value) Then Nazvanie = CStr(Worksheets("Номенклатура").Cells(j + 1, 2).Value) Tarif = CStr(Worksheets("Номенклатура").Cells(j + 1, 3).Value) Exit For End If Next Worksheets("Акт").Cells(i + 12, 3).Value = Nazvanie Worksheets("Акт").Cells(i + 12, 5).Value = Tarif Worksheets("Акт").Cells(i + 12, 4).Value = _ Worksheets("Название заказа").Cells(NomSpk + 2, _ 5 + (i - 1) * 2 + 1).Value Worksheets("Акт").Cells(i + 12, 6).Value = Tarif * _ Worksheets("Акт").Cells(i + 12, 4).Value Next End If Hide End Sub |
На рис. 3.9 мы уже видели заполненный лист АКТ для небольшого (не превышающего трех) числа запасных частей в заказе. Следует обратить внимание на ряд фрагментов процедуры, приведенной в листинге 3.8. Так, из третьего столбца строки выбранного заказа извлекается код фирмы-заказчика:
1 |
CodFirm = Worksheets("Названия заказов").Cells(NomSpk + 2, 3).Value.
|
Далее по коду фирмы с листа Клиенты извлекается информация о заказчике, которая далее переносится на лист АКТ. После этого производится заполнение табличной части. Здесь мы реализовали только ситуацию, когда количество деталей не превышает трех:
С учетом ранее рассмотренной организации листа Клиенты информация о кодах запасных частей располагается начиная с 5-го столбца. Поэтому следующая конструкция позволяет получить данные о составе заказа:
1 2 |
Worksheets("Названия заказов").Cells(NomSpk + 2,
5 + (i - 1) * 2).Value.
|
После этого на листе Номенклатура по кодам запчастей производится поиск информации о запасных частях, данные о которых заносятся в табличную часть (см. рис. 3.9).
Теперь осталось добавить к рассмотренному программному коду ситуацию, когда число позиций деталей в заказе больше трех. По ранее сформулированному условию в этом случае требуется разнести информацию по двум листам АКТ и Приложение. На лист АКТ в этом случае вносится только заголовочная часть (название и реквизиты фирмы-заказчика), а перечень запасных деталей заносится на лист Приложение. В связи с этим процедуру обработки щелчка на кнопке Создать отчет необходимо дополнить (листинг 3.9).
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
' Листинг 3.9. Изменение процедуры щелчка на кнопке Заполнить акт и приложение Private Sub CommandButton1_Click() ' Определяем индекс выбранного заказа в списке NomSpk = Spk.ListIndex ' Подсчет количества деталей в выбранном заказе ColDet = 0 While Worksheets("Названия заказов").Cells(NomSpk + 2, _ 5 + ColDet * 2).Value <> "" ColDet = ColDet + 1 Wend ' Подсчет количества позиций по прайсу NPrais = 0 While Worksheets("Номенклатура").Cells(NFirm + 2, 1).Value <> "" NPrais = NPrais + 1 Wend ' Подсчет числа фирм NFirm = 0 NFirm = NFirm + 1 Wend ' Извлекаем код фирмы в выбранном заказе CodFirm = Worksheets("Названия заказов").Cells(NomSpk + 2, 3).Value For i = 1 To NFirm ' Нахождение реквизитов фирмы по ее коду If CodFirm = Worksheets("Клиенты").Cells(i + 1, 1).Value Then Nazv = Worksheets("Клиенты").Cells(i + 1, 2).Value Adr = Worksheets("Клиенты").Cells(i + 1, 3).Value Tel = Worksheets("Клиенты").Cells(i + 1, 4).Value Fax = Worksheets("Клиенты").Cells(i + 1, 5).Value Exit For End If Next ' Внесение найденных реквизитов в поля на листе АКТ Worksheets("АКТ").Cells(6, 3).Value = Nazv Worksheets("АКТ").Cells(7, 3).Value = "Адрес:" + Adr Worksheets("АКТ").Cells(8, 3).Value = "Телефон:" + Tel Worksheets("АКТ").Cells(9, 3).Value = "Факс:" + Fax Worksheets("АКТ").Cells(6, 5).Value = _ Worksheets("Названия заказов").Cells(NomSpk + 2, 1) Worksheets("Приложение").Cells(1, 6).Value = _ Worksheets("Названия заказов").Cells(NomSpk + 2, 1) ' Очистка области для перечня запасных частей Worksheets("АКТ").Range("A13:F15") = "" Worksheets("Приложение").Range("A4:F100") = "" If ColDet < 4 Then For i = 1 To ColDet Worksheets("АКТ").Cells(i + 12, 1).Value = i Worksheets("АКТ").Cells(i + 12, 2).Value = _ Worksheets("Названия заказов").Cells(NomSpk + 2, _ 5 + (i - 1) * 2).Value For j = 1 To NPrais If CStr(Worksheets("АКТ").Cells(i + 12, 2).Value) = _ CStr(Worksheets("Номенклатура").Cells(j + 1, 1).Value) Then Nazvanie = CStr(Worksheets("Номенклатура").Cells(j + 1, 2).Value) Tarif = CStr(Worksheets("Номенклатура").Cells(j + 1, 3).Value) Exit For End If Next Worksheets("АКТ").Cells(i + 12, 3).Value = Nazvanie Worksheets("АКТ").Cells(i + 12, 5).Value = Tarif Worksheets("АКТ").Cells(i + 12, 3).Value = _ Worksheets("Названия заказов").Cells(NomSpk + 2, _ 5 + (i - 1) * 2 + 1).Value Worksheets("АКТ").Cells(i + 12, 6).Value = _ Worksheets("АКТ").Cells(i + 12, 4).Value * Tarif Next Else For i = 1 To ColDet Worksheets("Приложение").Cells(i + 3, 1).Value = i Worksheets("Приложение").Cells(i + 3, 2).Value = _ Worksheets("Названия заказов").Cells(NomSpk + 2, _ 5 + (i - 1) * 2).Value For j = 1 To NPrais If CStr(Worksheets("Приложение").Cells(i + 3, 2).Value) = _ CStr(Worksheets("Номенклатура").Cells(j + 1, 1).Value) Then Nazvanie = CStr(Worksheets("Номенклатура").Cells(j + 1, 2).Value) Tarif = CStr(Worksheets("Номенклатура").Cells(j + 1, 2).Value) Exit For End If Next Worksheets("Приложение").Cells(i + 3, 3).Value = Nazvanie Worksheets("Приложение").Cells(i + 3, 5).Value = Tarif Worksheets("Приложение").Cells(i + 3, 4).Value = _ Worksheets("Названия заказов").Cells(NomSpk + 2, _ 5 + (i - 1) * 2 + 1).Value Worksheets("Приложение").Cells(i + 3, 6).Value = _ Worksheets("Приложение").Cells(i + 3, 4).Value * Tarif Next End If Hide End Sub |
Рис. 3.13. Заполнение листа АКТ при большом перечне деталей
Рис. 3.14. Заполнение листа Приложение
На рис. 3.13 и 3.14 приведено, соответственно, заполнение листов АКТ и Приложение при четырех позициях в заказе. В этом случае детали заказа включаются на лист Приложение.
Часто пользователь Excel сталкивается с тем, что нужно заполнить ячейки данными, выстроенными в определенной логической последовательности. Или, к примеру, составить прогноз того, каким будет значение определенного показателя к конкретному моменту, если будет сохраняться текущая тенденция. Теперь не нужно для всего этого знать десятки формул. Достаточно пары кликов мышью, и проблема решена. Все это – благодаря автозаполнению.
Эта функция поражает своим удобством. Например, она позволяет быстро составить список календарных месяцев или сделать так, чтобы отображалось только 15 число и последний день каждого месяца (например, в бухгалтерских отчетах).
Как же воспользоваться этой превосходной функцией?
В правом нижнем углу есть квадратик, перетянув который, можно продолжить серию значений, в которых есть определенная закономерность. Например, если первый день – понедельник, то путем совершения этой нехитрой операции можно поставить в следующих строках значения: вторник, среда, четверг, пятница и так далее.
Если есть набор значений в ячейке типа 1,2,4, то выделив их все и потянув квадратик вниз, можно продолжить числовой ряд до 8, 16, 32 и так далее. Это позволяет существенно уменьшить временные затраты.
Таким же образом создается перечень названий месяцев.
А вот так выглядит использование автозаполнения для арифметической прогрессии. В нашем примере используются две ячейки со значениями 1,3 соответственно, и далее автозаполнение продолжает числовой ряд.
Причем прием будет работать даже если число есть внутри текста. Например, если написать «1 квартал» и перетащить квадратик вниз, то получится следующее.
Собственно, это все азы, которые нужно знать. Но если хочется овладеть навыками работы с Excel более профессионально, то можете ознакомиться с некоторыми фишками и приемами.
Содержание
- Использование перечня данных для автозаполнения
- С помощью мыши
- Использование мыши для автозаполнения дат
- Выводы
Использование перечня данных для автозаполнения
Конечно, составлять список месяцев или дней недели – это не все, что может делать Excel. Допустим, у нас есть перечень городов, в которых наша компания создала сервисные центры. Для начала нужно записать полный перечень в пункте «Изменить списки», к которому можно получить доступ через последовательность меню Файл – Параметры – Дополнительно – Общие – Изменить списки.
Далее появится окно со списком перечней, которые встроены в Excel автоматически.
Здесь их не так много. Но сие недоразумение можно с легкостью исправить. Для этого существует правое окошко, в котором записывается правильная последовательность значений. Запись может осуществляться двумя способами, как с помощью запятых, так и в столбец. Если же данных много, их можно импортировать. Так можно значительно сэкономить время.
Что для этого нужно? Для начала нужно где-то в документе создать перечень городов, а потом просто сделать на него ссылку в поле ниже.
Теперь перечень создан, и его можно использовать для заполнения всех остальных ячеек.
Кроме списков в текстовом формате Excel дает возможность создавать числовые последовательности, а также перечень из дат, выстроенных по определенной закономерности. В самом начале этого материала был приведен один из способов использования, но это примитивный уровень. Можно этот инструмент использовать более гибко, как настоящий ас.
Сначала выделяем требуемые значения последовательности (одно или несколько) вместе с частью диапазона, которая будет задействована под список. Далее находим на верхней панели кнопку «Заполнить» и в появившемся меню нужно нажать на кнопку «Прогрессия».
Далее появляется окно с настройками.
В его левой части находятся радиокнопки, с помощью которых можно задать расположение будущей последовательности: по строкам или столбцам. В первом случае список будет идти вниз, а во втором – вправо.
Сразу справа от настройки расположения размещена панель, где можно выбрать тип числовой последовательности. На выбор доступно несколько вариантов:
- Арифметическая. Значение в каждой следующей ячейке на определенное число больше предыдущего. Его величина определяется содержимым поля «Шаг».
- Геометрическая. Каждое последующее значение больше предыдущего в несколько раз. Во сколько именно, зависит от того, какой шаг указал пользователь.
- Даты. С помощью этого параметра пользователь может создать последовательность дат. Если выбрать данный тип, активируются дополнительные настройки единицы измерения. Они учитываются при составлении последовательности: день, рабочий день, месяц, год. Так, если выбрать пункт «рабочий день», то выходные в перечень включены не будут.
- Автозаполнение. Этот параметр аналогичен перетягиванию правого нижнего угла. Простыми словами, Excel самостоятельно решает, ему нужно продолжать числовой ряд или лучше делать более длинный перечень. Если заблаговременно указать значения 2 и 4, то в следующих будут числа 6, 8 и так далее. Если же перед этим заполнить большее количество ячеек, то будет использована функция «линейная регрессия» (это очень интересная опция, позволяющая построить прогноз, исходя из имеющейся тенденции).
Внизу этого диалогового окна, как вы уже видите, есть две опции: величина шага, рассмотренная выше, и предельное значение.
После выполнения всех операций нужно нажать клавишу «ОК». Таким же образом создается перечень рабочих дней за определенный период (например до 31.12.2020 года). И пользователю нет необходимости совершать огромное количество ненужных движений!
Все, настройка завершена. Теперь рассмотрим еще некоторые профессиональные методы автозаполнения.
С помощью мыши
Это самый удобный способ автозаполнения, позволяющий элегантно выполнять даже самые сложные операции. Есть два варианта, как его можно использовать: с помощью левой кнопки мыши или правой. Например, стоит задача сделать список чисел, выстроенных в порядке возрастания, где каждое следующее значение увеличивается на единицу. Обычно для этого вводят единицу в первую ячейку, а двойку – во вторую, после чего перетягивают квадратик в правом нижнем углу. Но возможно достижение этой цели и другим методом – простым заполнением первой ячейки. Затем ее нужно перетащить вниз за правый нижний угол. После этого появится кнопка в виде квадратика. Ее нужно нажать и выбрать пункт «Заполнить».
Также можно использовать функцию «Заполнить только форматы», с помощью которой можно продлевать лишь форматы ячеек.
Но есть метод побыстрее: удержание кнопки Ctrl с параллельным протягиванием ячейки.
Правда, он подходит лишь для автозаполнения последовательности чисел. Если же попытаться провернуть этот трюк с данными другого типа, то значения просто будут копироваться в следующие ячейки.
Есть способ ускорить вызов контекстного меню. Для этого необходимо перетягивать квадратик, зажав правую кнопку мыши.
Затем появится набор команд. Так, можно вызвать диалоговое окно с дополнительными настройками автозаполнения, нажав на пункт меню «Прогрессия». Но есть одно ограничение. Максимальная длина последовательности в этом случае ограничится последней ячейкой.
Чтобы автозаполнение осуществлялось вплоть до требуемого значения (конкретной цифры или даты), надо нажать правую кнопку мышки, предварительно направив курсор на квадратик, и потянуть маркер вниз. После этого курсор возвращается назад. И последний шаг – отпускаем мышь. В результате, появится контекстное меню с настройками автозаполнения. Выберите прогрессию.Здесь только одна ячейка выделена, поэтому нужно в настройках указать все параметры автозаполнения: направление, шаг, предельное значение, и нажать на клавишу «ОК».
Особо интересная функция Excel – линейное и экспоненциальное приближение. Она дает возможность построить прогноз того, как будут изменяться значения, исходя из имеющейся закономерности. Как правило, для составления прогноза необходимо пользоваться особыми функциями Excel или производить сложные расчеты, в которое подставляются значения независимой переменной. Значительно проще продемонстрировать этот пример на практике.
Например, есть динамика показателя, значение которого через каждый период увеличивается на одно и то же число.
Значительно проще понять, как осуществляется прогнозирование значений при линейном тренде (когда каждый следующий показатель увеличивается или уменьшается на определенное значение). Для этого подходят стандартные функции Excel, но лучше нарисовать график, где отображаются трендовая линия, уравнение функции и ожидаемое значения для большей наглядности.
Чтобы узнать, какой будет прогнозируемый показатель в числовом выражении, при расчете нужно брать в основу уравнение регрессии (или непосредственно воспользоваться встроенными в Excel формулами). В результате, получится много действий, которые не каждый может понять сходу.
А вот линейная регрессия позволяет вообще отказаться от сложных формул и построения графиков. Достаточно воспользоваться автозаполнением. Пользователем берется диапазон данных, на основе которых составляется прогноз. Этот набор ячеек выделяется, далее зажимается правая кнопка мыши, которой нужно перетянуть диапазон на требуемое количество ячеек (в зависимости от отдаленности точки в будущем, для которой рассчитывается прогнозируемое значение). Появится контекстное меню, где нужно выбрать пункт «Линейное приближение». Все, получается прогноз, не требующий специальных математических умений, построения графиков или выведения формул.
Если показатели увеличиваются в течение каждого промежутка времени на определенный процент, то речь идет об экспоненциальном росте. Например, составление прогноза динамики эпидемии или прогнозирование процентов по банковском депозите строится именно на такой закономерности.
Нет более эффективного метода прогнозирования экспоненциального роста, чем описанный нами.
Использование мыши для автозаполнения дат
Нередко приходится увеличивать уже имеющийся перечень дат. Чтобы это сделать, берется какая-то дата, и перетаскивается за правый нижний угол с помощью левой кнопки мыши. Появляется значок квадратика, где и можно выбрать метод заполнения.
Например, если электронной таблицей пользуется бухгалтер, ему подойдет вариант «по рабочим дням». Также этот пункт понадобится любым другим специалистам, которым приходится составлять ежедневные планы, например, HR.
А вот еще один вариант, как реализовать автоматическое заполнение дат мышью. Например, компания должна выплатить зарплату 15-го числа и в последний день месяца. Далее нужно ввести две даты, протянуть их вниз и выбрать способ заполнения «по месяцам». Это можно сделать как путем нажатия левой кнопкой мыши по квадратику в правом нижнем углу, так и с использованием правой кнопки с последующим автоматическим вызовом контекстного меню.
Важно! 15-е число остается, независимо от месяца, а последний его автоматически.
С помощью правой кнопкой мыши можно настроить прогрессию. Например, составить перечень рабочих дней в этом году, которые еще будут вплоть до 31 декабря. Если пользоваться автозаполнением с помощью правой кнопки мыши или через меню, доступ к которому можно получить через квадратик, то там есть опция «Мгновенное заполнение». Впервые разработчики предусмотрели эту возможность в Excel 2013. Она необходима, чтобы ячейки заполнялись по определенному образцу. Это даст возможность неплохо сэкономить время.
Выводы
Собственно, это и все. Автозаполнение – очень полезная функция, которая помогает автоматизировать многие рабочие процессы и строить прогнозы, исходя из имеющейся закономерности. Никаких дополнительных формул или вычислений не требуется. Достаточно нажать пару кнопок, и результаты появятся как по мановению волшебной палочки.
Оцените качество статьи. Нам важно ваше мнение:
Skip to content
В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы знаете все о маркере заполнения, поскольку вы можете быть удивлены, насколько мощной является эта крошечная опция.
Когда у вас мало времени, на счету каждая минута. Поэтому вам нужно знать все способы автоматизации ежедневных задач с таблицами. Автозаполнение в Excel — популярная функция, и я уверен, что большинство из вас уже ею пользуется. Однако для вас может быть новым фактом, что речь идет не только о копировании значений в столбец или получении ряда чисел или дат. Это также касается создания настраиваемых списков, двойного клика для заполнения большого диапазона и многого другого.
Ниже вы видите план этой статьи. Нажмите на ссылку, которая вам особенно интересна, чтобы сразу перейти к главному.
Функция автозаполнения.
Если вы просто хотите скопировать одно и то же значение вниз или вам нужно получить последовательность чисел или текстовых значений, маркер заполнения в Excel – это как раз то, что вам нужно.
Маркер заполнения – это небольшой квадрат, который появляется в правом нижнем углу, когда вы выделяете ячейку или диапазон.
Эта крошечная, почти незаметная точка дает вам множество полезных опций, которые можно использовать практически ежедневно.
Схема действий простая. Всякий раз, когда вам нужно получить последовательность значений в соседних ячейках, просто выделите нужный диапазон, потом щелкните маркер автозаполнения Excel, чтобы увидеть маленький черный крестик, и затем перетащите его мышкой по вертикали или горизонтали. Когда вы отпустите левую кнопку мыши, вы увидите, что выбранные ячейки заполнены значениями в зависимости от того, что было в исходных ячейках. В нашем случае, как видите на скриншоте ниже, текст был просто скопирован.
Вы можете автоматически заполнить ячейки либо по строке, либо по столбцу.
Один из самых популярных вопросов – как автоматически заполнять числа в Excel. Это также могут быть даты, время, дни недели, месяцы, годы и т. д. При этом автозаполнение ячеек Excel будет следовать любому шаблону.
Например, если вам нужно продолжить последовательность, просто введите первые два значения в начальную ячейку и используйте маркер заполнения, чтобы автоматически заполнить данные в указанном диапазоне.
Вы можете автоматически создать любую последовательность арифметической прогрессии, в которой разница между числами постоянна.
Эксель даже будет чередовать последовательности, если выбранные ячейки не связаны друг с другом, как на картинке ниже.
Само собой разумеется, что вы можете использовать функцию автозаполнения, чтобы скопировать значение внутри вашего диапазона. Думаю, вы уже знаете, как сделать так, чтобы в соседних ячейках Excel отображалось одно и то же значение. Вам просто нужно ввести это число, текст или их комбинацию и перетащить их по ячейкам с помощью маркера заполнения.
Предположим, вы уже слышали о приёмах, которые я описал выше. Я все еще верю, что некоторые из них показались вам новыми. Так что продолжайте читать, чтобы узнать больше об этом популярном, но недостаточно изученном инструменте.
Как заполнить большой диапазон двойным щелчком.
Предположим, у вас есть огромная база данных с именами. Каждому имени нужно присвоить порядковый номер. Вы можете сделать это практически мгновенно, введя в начальные ячейки первые два числа и дважды щелкнув маркер заполнения Excel.
Примечание. Этот совет будет работать только в том случае, если у вас есть значения слева или справа от столбца, который необходимо заполнить. Дело в том, что Excel просматривает соседний столбец, чтобы определить последнюю ячейку в диапазоне для заполнения. Также имейте в виду, что если у вас есть значения справа и слева от пустого диапазона, в котором вы хотите сделать автозаполнение, то ряд ячеек будет заполнен по самому длинному столбцу.
Автозаполнение числами
Одним из самых распространенных приёмов автозаполнения является ввод последовательных чисел. Допустим, нам нужно выполнить нумерацию от 1 до 10. Чтобы не вводить значения вручную, делаем так:
Способ 1.
Введите в первые две ячейки диапазона первые два числа. Выделите эти две ячейки и протащите вниз маркер автозаполнения.
Эксель автоматически создаст арифметическую прогрессию на основе этих чисел и заполнит диапазон нужными значениями.
Буквально этот метод автозаполнения числами был описан нами выше. Так что останавливаться на нем подробно не будем.
Способ 2.
Пишем в самой верхней ячейке будущего списка начальное число (например, 1). Затем по описанному выше принципу воспользуемся маркером заполнения, протянув его вниз на 10 строк.
В результате, во всех ячейках получаем цифру 1. После этого щелкаем на появившийся значок справа от заполненного диапазона и в предложенном списке выбираем команду “Заполнить”.
Получаем список чисел от 1 до 10 буквально за пару кликов.
О других возможностях функции «Заполнить» читайте ниже.
Способ 3.
Введите в первую ячейку диапазона начальное число (допустим, 1). Во время протягивания маркера заполнения вниз одновременно с зажатой левой копкой мыши удерживаем клавишу Ctrl
(на Mac – клавишу Option
). Рядом с знакомым нам значком в виде черного плюсика при этом должен появиться еще один плюсик поменьше – слева и сверху.
После этого числа сразу же заполнятся по порядку, и необходимость использовать меню с параметрами автозаполнения отпадает.
Как сделать автозаполнение ячеек с текстом
Если ваши исходные ячейки содержат только текст, то при автозаполнении он будет просто скопирован.
Для параметра автозаполнения не проблема копировать значения, содержащие текст с числами. Excel будет искать закономерность в имеющихся числах. Что касается текста, он будет повторяться.
Как видите, инструмент автозаполнения отличает текст от чисел. И он даже знает, что есть 4 квартала.
Чтобы расширить эти возможности, для автозаполнения ячеек с текстом можно использовать списки. Об этом читайте ниже по ссылке.
Инструмент “Заполнить”
Сделать автозаполнение ячеек в Excel можно с помощью специального инструмента “Заполнить”. Алгоритм действий следующий:
- Вносим информацию в исходную ячейку. После этого любым удобным способом (например, с помощью зажатой левой кнопки мыши) выделяем область ячеек, к которой хотим применить автозаполнение.
- На ленте щелкаем по значку в виде стрелке вниз (это и есть инструмент “Заполнить”). Откроется перечень возможных вариантов, среди которых выбираем тот, который нужен (“вниз” в нашем примере).
Получаем автоматически заполненный диапазон ячеек. В данном случае – с датами.
С помощью функции “Заполнить” можно, в том числе, продолжить ряд прогрессии:
Как и в алгоритме выше, указываем в начальной ячейке первое значение. Затем выделяем требуемый диапазон, кликаем по инструменту “Заполнить” и останавливаемся на варианте “Прогрессия”.
Настраиваем параметры прогрессии в появившемся окошке:
- так как мы изначально выполнили выделение диапазона, уже сразу выбрано соответствующее расположение прогрессии. Однако, его можно изменить при желании, указав другое расположение.
- выбираем тип прогрессии: арифметическая, геометрическая, даты, автозаполнение. На этот раз остановимся на арифметической.
- указываем желаемый шаг.
- заполняем предельное значение. Это не обязательно, если заранее был выбран диапазон. В противном случае указать число шагов необходимо.
- в некоторых ситуациях потребуется выбрать единицу измерения.
- когда все параметры выставлены, жмем OK.
Использование функции мгновенного заполнения
Функция мгновенного заполнения автоматически подставляет в заполняемый диапазон данные, когда обнаруживает в них закономерность. Например, с помощью мгновенного заполнения можно разделять имена и фамилии из одного столбца или же объединять их из двух разных столбцов.
Предположим, что столбец A содержит имена, столбец B — фамилии, а вы хотите заполнить столбец C именами с фамилиями. Если ввести хотя бы одно полное имя в столбец C, функция мгновенного заполнения поможет наполнить остальные ячейки соответствующим образом.
Введем имя и фамилию в С2. Затем при помощи меню выберем инструмент Мгновенное заполнение или нажмем комбинацию CTRL+E
.
Excel определит закономерность в ячейке C2 и заполнит ячейки вниз до конца имеющихся данных.
Как создать собственный список для автозаполнения
Если вы время от времени используете один и тот же список значений, вы можете сохранить его как настраиваемый и заставить автозаполнение Excel автоматически наполнять ячейки значениями из этого списка. Чтобы таким образом настроить автозаполнение, выполните следующие действия:
- Введите заголовок и заполните свой список.
Примечание. Пользовательский список может содержать только текст или текст с числами. Если вам нужно хранить в нем только числа, создайте список чисел в текстовом формате.
- Выберите диапазон ячеек, который содержит данные для вашего нового списка автозаполнения.
- В Excel 2003 перейдите в Инструменты -> Параметры -> вкладка Пользовательские списки.
В Excel нажмите кнопку Office -> Параметры Excel -> Дополнительно -> прокрутите вниз, пока не увидите кнопку «Изменить настраиваемые списки…».
- Поскольку вы уже выбрали диапазон значений для своего нового списка, вы увидите адреса этих ячеек в поле Импортировать список из ячеек:
- Нажмите кнопку «Импорт», чтобы поместить свой набор значений в поле «Пользовательские списки».
- Наконец, нажмите OK, чтобы добавить собственный список автозаполнения.
Когда вам нужно разместить эти данные на рабочем листе, введите название любого элемента вашего списка в нужную ячейку. Excel распознает элемент, и когда вы перетащите маркер заполнения в Excel через свой диапазон, он заполнит его значениями.
Как получить повторяющуюся последовательность произвольных значений
Если вам нужна серия повторяющихся значений, вы все равно можете использовать автозаполнение. Например, вам нужно повторить ряд: ДА, НЕТ, ИСТИНА, ЛОЖЬ. Сначала введите все эти значения вручную, чтобы дать Excel шаблон. Затем просто возьмите мышкой маркер заполнения и перетащите его в нужную ячейку.
Автозаполнение по горизонтали и вертикали
Скорее всего, вы используете автозаполнение для заполнения ячеек в столбце. Однако эта функция также работает, если вам нужно заполнить диапазон по горизонтали, влево или вверх.
Просто выберите ячейки со значениями и перетащите маркер заполнения в нужном направлении.
Автозаполнение сразу нескольких строк или столбцов
Автозаполнение Excel может работать с данными сразу в нескольких строках или столбцах. Если вы выберете две, три или более ячеек и перетащите маркер заполнения, все они будут заполнены.
Как вставить пустые ячейки при автозаполнении
Автозаполнение также позволяет создавать серии с пустыми ячейками, как на скриншоте ниже.
Для этого выделите ячейки с данными, а также одну или несколько пустых строк. Протащите маркер автозаполнения вниз, и получите примерно такую картину, как на скриншоте выше.
То же самое можно делать и с пустыми столбцами, протащив маркер вправо.
Как настроить параметры автозаполнения
Вы можете настроить автозаполнение с помощью списка параметров автозаполнения, чтобы получить именно те результаты, которые вам необходимы. Настроить список можно двумя способами.
- Щелкните правой кнопкой мыши маркер заполнения и перетащите его. После этого вы увидите список с автоматически всплывающими опциями, как на скриншоте ниже:
Посмотрим, что предлагают эти варианты.
- Копировать ячейки — заполняет диапазон одним и тем же значением.
- Заполнить – автозаполнение заполнит диапазон в соответствии с заданным шаблоном.
- Заполнить только форматы — эта опция автозаполнения Excel будет копировать только формат ячеек без извлечения каких-либо значений. Это может быть полезно, если вам нужно быстро скопировать форматирование, а затем ввести значения вручную.
- Заполнить только значения — копирует только значения. Если фон исходных ячеек заполнен цветом, то он не сохранится.
- Заполните дни / будни / месяцы / годы — эти функции делают то, что предполагают их названия. Если ваша начальная ячейка содержит один из них, вы можете быстро заполнить диапазон, щелкнув один из вариантов.
- Линейное приближение – создает линейный ряд или линейный тренд наилучшего соответствия.
- Экспоненциальное приближение – генерирует серию роста или геометрическую тенденцию роста.
- Мгновенное заполнение – помогает ввести много повторяющейся информации и правильно отформатировать данные.
- Прогрессия… — этот параметр вызывает диалоговое окно с перечнем дополнительных возможностей для выбора: какую именно числовую прогрессию вы хотите получить.
Как видно на скриншоте выше, Excel оценивает ваши данные и предлагает вам только те опции, которые с вашими значениями возможны. В этом примере мы имеем текст, поэтому опции работы с датами и числами не активны.
- Другой способ получить список — щелкнуть маркер заполнения, перетащить его и затем щелкнуть значок «Параметры автозаполнения».
При нажатии на этот значок открывается список с параметрами.
Как видите, этот список просто повторяет некоторые функции, которые мы уже описали выше.
Самый быстрый способ автозаполнения формулами
Автозаполнение формул – это процесс, очень похожий на копирование значений или получение ряда чисел. Он также предполагает перетаскивание маркера заполнения, как это мы уже рассмотрели выше.
Но есть и более быстрый способ автозаполнения формул, который особенно хорош в больших таблицах, где тащить маркер на 100 или более строк вниз достаточно утомительно.
Предположим, у вас есть таблица, и вы хотите добавить новый столбец с формулой. Например, в списке товаров нужно посчитать сумму, перемножив цену и количество.
- Преобразуйте свой диапазон в таблицу Excel. Выберите любую ячейку в диапазоне данных и нажмите Ctrl+Т, чтобы вызвать диалоговое окно «Создать таблицу». Или используйте кнопку «Форматировать как таблицу» на ленте «Главная». Если в ваших данных есть заголовки столбцов, убедитесь, что установлен флажок «Таблица с заголовками». Обычно Excel распознает заголовки таблиц автоматически, а если нет, установите этот флажок вручную.
- Введите формулу в первую ячейку пустого столбца.
- Нажмите Enter. Excel автоматически заполняет все пустые ячейки в столбце этой формулой.
Если вы хотите по какой-то причине вернуться от таблицы к обычному диапазону данных, выберите любую ячейку в вашей таблице, затем по правому клику мышкой выберите Таблица => Преобразовать в диапазон.
Вставьте одни и те же данные в несколько ячеек, используя Ctrl+Enter
Скажем, у нас есть таблица со списком товаров. Мы хотим заполнить пустые ячейки в колонке «Количество» словом «нет» , чтобы упростить фильтрацию данных в будущем.
Для этого выполним следующие действия.
- Выделим все пустые ячейки в столбце, которые вы хотите заполнить одними и теми же данными.
Чтобы утомительно не кликать мышкой множество раз, вы можете использовать на ленте кнопку «Найти и заменить» – «Выделить группу ячеек».
- Отредактируйте одну из выделенных ячеек, введя в нее нужное слово «нет»
- Чтобы сохранить изменения, нажмите
Ctrl+Enter
вместоEnter
. В результате все выбранные ячейки будут заполнены введенными вами данными, как на скриншоте ниже.
Как включить или отключить автозаполнение в Excel
Инструмент автозаполнения включен в Excel по умолчанию. Поэтому всякий раз, когда вы выбираете диапазон, вы можете видеть в его правом нижнем углу соответствующий значок. Если вам нужно, чтобы автозаполнение Excel не работало, вы можете отключить его, выполнив следующие действия:
- Нажмите Файл в Excel 2010-2019 или кнопку Office в версии 2007.
- Перейдите в Параметры -> Дополнительно и снимите флажок Разрешить маркер заполнения и перетаскивание ячеек.
На скриншоте выше вы видите, где находится в Excel автозаполнение.
В результате снятия флажков автозаполнение будет отключено.
Примечание. Чтобы предотвратить замену текущих данных при перетаскивании маркера заполнения, убедитесь, что установлен флажок «Предупреждать перед перезаписью ячеек». Если вы не хотите, чтобы Excel отображал сообщение о перезаписи не пустых ячеек, просто снимите этот флажок.
Включение или отключение параметров автозаполнения
Если вы не хотите, чтобы кнопка «Параметры автозаполнения» отображалась каждый раз при перетаскивании маркера заполнения, просто отключите ее. Точно так же, если кнопка не отображается, когда вы используете маркер заполнения, вы можете включить ее.
- Перейдите к кнопке Файл / Офис -> Параметры -> Дополнительно и найдите раздел Вырезать, скопировать и вставить.
- Снимите флажок Показывать кнопки параметров вставки при вставке содержимого.
Спасибо, что дочитали до конца. Теперь вы знаете все или почти все о функции автозаполнения.
Если вы знаете еще приемы, ускоряющие ввод данных, поделитесь ими в комментариях. Буду рад добавить их с вашим авторством в эту статью.
Сообщите мне, если мне не удалось ответить на все ваши вопросы и проблемы, и я постараюсь вам помочь. Напишите в комментариях. Будьте счастливы и преуспевайте в Excel!
Содержание
- Работа автозаполнения в Эксель
- Автозаполнение ячеек числами
- Инструмент «Заполнить»
- Автозаполнение формулами
- Автозаполнение другими значениями
- Добавление собственных списков
- Вопросы и ответы
Мало кому понравится долго и монотонно вводить одинаковые или однотипные данные в таблицу. Это довольно скучная работа, забирающая большое количество времени. В программе Excel имеется возможность автоматизировать ввод таких данных. Для этого предусмотрена функция автозаполнения ячеек. Посмотрим, как она работает.
Работа автозаполнения в Эксель
Автозаполнение в Microsoft Excel осуществляется с помощью специального маркера заполнения. Для того, чтобы вызвать этот инструмент нужно навести курсор на нижний правый край любой ячейки. Появится небольшой черный крестик. Это и есть маркер заполнения. Нужно просто зажать левую кнопку мыши и потянуть в ту сторону листа, где вы хотите заполнить ячейки.
То, как будут заполняться ячейки, уже зависит от того типа данных, который находится в исходной ячейке. Например, если там будет обычный текст в виде слов, то при перетягивании с помощью маркера заполнения производится его копирование в другие ячейки листа.
Автозаполнение ячеек числами
Чаще всего автозаполнение используется для ввода большого массива чисел, которые следуют по порядку. Например, в определенной ячейке стоит цифра 1, а нам нужно пронумеровать ячейки от 1 до 100.
- Активируем маркер заполнения и проводим им вниз на необходимое количество ячеек.
- Но, как видим, во все ячейки скопировалась только единица. Кликаем на значок, который находится снизу слева от заполненной области и называется «Параметры автозаполнения».
- В открывшемся списке устанавливаем переключатель в пункт «Заполнить».
Как видим, после этого весь нужный диапазон заполнился числами по порядку.
Но можно сделать ещё проще. Вам не нужно будет вызывать параметры автозаполнения. Для этого, когда тянете маркер заполнения вниз, то кроме зажатой левой кнопки мыши, нужно зажать ещё кнопку Ctrl на клавиатуре. После этого, заполнение ячеек числами по порядку происходит сразу же.
Существует также способ сделать автозаполнения ряда прогрессии.
- Вносим в соседние ячейки два первых числа прогрессии.
- Выделяем их. С помощью маркера заполнения вносим данные в другие ячейки.
- Как видим, создается последовательный ряд чисел с заданным шагом.
Инструмент «Заполнить»
В программе Excel есть также отдельный инструмент, которые называется «Заполнить». Расположен он на ленте во вкладке «Главная» в блоке инструментов «Редактирование».
- Заносим данные в любую ячейку, а затем выделяем её и диапазон ячеек, который собираемся заполнить.
- Жмем на кнопку «Заполнить». В появившемся списке выбираем то направление, в которои следует заполнить ячейки.
- Как видим, после этих действий данные из одной ячейки были скопированы во все остальные.
С помощью данного инструмента можно также заполнить ячейки прогрессией.
- Заносим число в ячейку и выделяем диапазон ячеек, который будет заполняться данными. Жмем на кнопку «Заполнить», а в появившемся списке выбираем пункт «Прогрессия».
- Открывается окно настройки прогрессии. Здесь нужно произвести ряд манипуляций:
- выбрать расположение прогрессии (по столбцам или по строкам);
- тип (геометрическая, арифметическая, даты, автозаполнение);
- установить шаг (по умолчанию он равен 1);
- установить предельное значение (необязательный параметр).
Кроме того, в отдельных случаях, устанавливаются единицы измерения.
Когда все настройки внесены, жмем на кнопку «OK».
- Как видим, после этого весь выделенный диапазон ячеек заполняется согласно установленными вами правилами прогрессии.
Автозаполнение формулами
Одним из основных инструментов Excel являются формулы. При наличии в таблице большого числа одинаковых формул можно также воспользоваться функцией автозаполнения. Суть не меняется. Нужно тем же способом маркера заполнения скопировать формулу в другие ячейки. При этом, если в формуле содержатся ссылки на другие ячейки, то по умолчанию при копировании таким способом координаты их меняются по принципу относительности. Поэтому, такие ссылки называют относительными.
Если вы хотите, чтобы при автозаполнении адреса стали фиксированными, то нужно в исходной ячейке перед координатами строк и столбцов поставить знак доллара. Такие ссылки называются абсолютными. Затем, производится обычная процедура автозаполнения с помощью маркера заполнения. Во всех заполненных таким способом ячейках формула будет абсолютно неизменная.
Урок: Абсолютные и относительные ссылки в Excel
Автозаполнение другими значениями
Кроме того, в программе Excel предусмотрено автозаполнение другими значениями по порядку. Например, если вы введете какую-нибудь дату, а затем, воспользовавшись маркером заполнения, выделите другие ячейки, то весь выбранный диапазон окажется заполненный датами в строгой последовательности.
Точно так же, можно произвести автозаполнение по дням недели (понедельник, вторник, среда…) или по месяцам (январь, февраль, март…).
Более того, если в тексте будет любая цифра, то Эксель распознает её. При использовании маркера заполнения произойдет копирование текста с изменением цифры по нарастающей. Например, если вы запишите в ячейку выражение «4 корпус», то в других ячейках, заполненных с помощью маркера заполнения, это название преобразится в «5 корпус», «6 корпус», «7 корпус» и т.д.
Добавление собственных списков
Возможности функции автозаполнения в Excel не ограничивается определенными алгоритмами или предустановленными списками, такими как, например, дни недели. При желании пользователь может в программу добавить свой личный список. Тогда, при записи в ячейку любого слова из элементов, которые находятся в перечне, после применения маркера заполнения, данным списком будет заполнен весь выделенный диапазон ячеек. Для того, чтобы добавить свой список, нужно выполнить такую последовательность действий.
- Делаем переход во вкладку «Файл».
- Переходим в раздел «Параметры».
- Далее, перемещаемся в подраздел «Дополнительно».
- В блоке настроек «Общие» в центральной части окна жмем на кнопку «Изменить списки…».
- Открывается окно списков. В левой его части расположены уже имеющиеся списки. Для того, чтобы добавить новый список записываем нужные слова в поле «Элементы списка». Каждый элемент должен начинаться с новой строки. После того, как все слова записаны, жмем на кнопку «Добавить».
- После этого, окно списков закроется, а при повторном его открытии пользователь сможет увидеть те элементы, которые он добавлял уже в окне активных списков.
- Теперь, после того, как вы в любую ячейку листа внесете слово, которое являлось одним из элементов добавленного списка, и примените маркер заполнения, выделенные ячейки будут заполнены символами из соответствующего списка.
Как видим, автозаполнение в Экселе является очень полезным и удобным инструментом, который позволяет значительно сэкономить время на добавлении одинаковых данных, повторяющихся списков, и т.д. Преимуществом этого инструмента является и то, что он настраиваемый. В него можно вносить новые списки или изменять старые. Кроме того, с помощью автозаполнения можно произвести быстрое заполнение ячеек различными видами математических прогрессий.