На чтение 6 мин Опубликовано 20.01.2021
Часто перед пользователями табличного редактора встает такая задача, как создание специального бланка для ввода необходимой информации. Бланки представляют из себя форму, помогающую облегчить процедуру заполнения табличного документа. В редакторе существует интегрированный инструмент, который позволяет реализовать наполнение рабочего листа этим способом. Ко всему прочему, пользователь программы при помощи макроса может осуществить создание своего варианта бланка, адаптированного под различные задачи. В статье мы детально рассмотрим разнообразные методы, позволяющие создать бланк в табличном документе.
Содержание
- Использование инструментов заполнения в табличном редакторе
- Первый метод: интегрированный элемент для ввода информации
- Второй метод: наполнение бланков информацией из таблички
- Заключение и выводы о создании бланка.
Использование инструментов заполнения в табличном редакторе
Форма заполнения – это специальный элемент с полями, названия которых соответствуют наименованиям столбиков наполняемой таблички. В поля необходимо вбивать информацию, которая сразу же вставится новой строчкой в выбранную область. Эта специальная форма может быть использована в качестве обособленного интегрированного инструмента табличного редактора или же находиться на самом рабочем листе в качестве диапазона. Разберем каждую вариацию более детально.
Первый метод: интегрированный элемент для ввода информации
Первоначально выясним, как использовать интегрированную форму для добавления информации в табличный документ редактора. Подробная инструкция выглядит так:
- Отметим, что изначально, иконка, которая включает эту форму – скрыта. Нам необходимо произвести процедуру активации инструмента. Передвигаемся в подменю «Файл», находящееся в левой верхней части интерфейса табличного редактора. Находим здесь элемент, имеющий наименование «Параметры», и кликаем по нему левой клавишей мышки.
- На дисплее возникло окошко под наименованием «Параметры Excel». Передвигаемся в подраздел «Панель быстрого доступа». Здесь находится огромное количество разнообразных настроек. В левой стороне располагаются специальные инструменты, которые можно активировать на панели инструментов, а в правой стороне находятся уже включенные инструменты. Раскрываем перечень около надписи «Выбрать команды из:» и выбираем при помощи левой клавиши мышки элемент «Команды на ленте». В перечне команд, выведенном в порядке алфавита, ищем пункт «Форма…» и выбираем его. Кликам «Добавить».
- Щелкаем на кнопку «ОК».
- Мы активировали данный инструмент на специальной ленте.
- Теперь нам необходимо заняться оформлением шапки таблички, а затем ввести какие-нибудь показатели в нее. Наша табличка будет состоять из 4 колонок. Вбиваем наименования.
- В самую 1-ю строчку нашей таблички также вбиваем какое-нибудь значение.
- Производим выделение любого поля заготовленной таблички и кликаем на элемент «Форма…», располагающийся на инструментальной ленте.
- Открылось окошко настроек инструмента. Здесь располагаются строчки, соответствующие наименованиям колонок таблички.
Стоит отметить, что первая строчка уже наполнена данными, так как мы до этого самостоятельно ввели их на рабочем листе.
- Вбиваем показатели, которые мы считаем необходимыми в остальные строчки. Кликаем на кнопку «Добавить».
- В 1-ю строчку таблички автоматом перенеслись вбитые показатели, а в самой форме реализовался переход к другому блоку полей, соответствующему 2-ой строчке таблички.
- Производим заполнение окошка инструмента показателями, которые мы желаем увидеть во 2-ой строчке таблички. Кликаем «Добавить».
- Во 2-ю строчку таблички автоматом перенеслись вбитые показатели, а в самой форме реализовался переход к другому блоку полей, соответствующему 3-ей строчке таблички.
- Аналогичным методом производим заполнение таблички всеми необходимыми показателями.
- При помощи кнопок «Далее» и «Назад» можно реализовать навигацию по ранее вбитым показателям. Альтернативный вариант – полоса прокрутки.
- При желании можно осуществить редактирование любых показателей в табличке, откорректировав их в самой форме. Для сохранения внесенных изменений необходимо кликнуть на «Добавить».
- Замечаем, что все отредактированные значения отобразились и в самой табличке.
- При помощи кнопки «Удалить» можно реализовать удаление конкретной строчки.
- После нажатия появится специальное окошко с предупреждением, которое говорит о том, что выбранная строчка удалится. Необходимо кликнуть «ОК».
- Строчка удалилась из таблички. После всех проведенных процедур жмем на элемент «Закрыть».
- Дополнительно можно осуществить форматирование, чтобы табличка приобрела красивый внешний вид.
Второй метод: наполнение бланков информацией из таблички
К примеру, у нас имеется табличка, в которой содержится информация по платежам.
Цель: заполнить бланк этими данными, чтобы его можно было удобно и корректно распечатать. Подробная инструкция выглядит так:
- На отдельном рабочем листе документа осуществляем создание пустого бланка.
Стоит заметить, что внешний вид самого бланка можно создать самостоятельно или же скачать готовые бланки с различных источников.
- Перед тем как взять информацию из таблички ее необходимо немного изменить. Нам нужно добавить пустую колонку левее от исходной таблички. Здесь будет ставиться метка около той строчки, которую мы планируем добавить в сам бланк.
- Теперь нам необходимо реализовать связывание таблички и бланка. Для этого нам понадобится оператор ВПР. Используем такую формулу: =ВПР(«x»;Данные!A2:G16;2;0).
- Если поставить метку около нескольких строчек, то оператор ВПР будет брать только 1-й найденный показатель. Для решения этой проблемы необходимо щелкнуть ПКМ по иконке листа с исходной табличкой и кликнуть на элемент «Исходный текст». В отобразившемся окошке вводим такой код:
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
- Данный макрос не позволяет вводить больше одной метки в первую колонку.
Заключение и выводы о создании бланка.
Мы выяснили, что существует несколько видов создания бланка в табличном редакторе. Можно использовать специальные формы, располагающиеся на инструментальной ленте или же применять оператор ВПР для осуществления переноса информации из таблички в бланк. Дополнительно применяются специальные макросы.
Оцените качество статьи. Нам важно ваше мнение:
Содержание
- Применение инструментов заполнения
- Способ 1: встроенный объект для ввода данных Excel
- Способ 2: создание пользовательской формы
- Вопросы и ответы
Для облегчения ввода данных в таблицу в Excel можно воспользоваться специальными формами, которые помогут ускорить процесс заполнения табличного диапазона информацией. В Экселе имеется встроенный инструмент позволяющий производить заполнение подобным методом. Также пользователь может создать собственный вариант формы, которая будет максимально адаптирована под его потребности, применив для этого макрос. Давайте рассмотрим различные варианты использования этих полезных инструментов заполнения в Excel.
Применение инструментов заполнения
Форма заполнения представляет собой объект с полями, наименования которых соответствуют названиям колонок столбцов заполняемой таблицы. В эти поля нужно вводить данные и они тут же будут добавляться новой строкой в табличный диапазон. Форма может выступать как в виде отдельного встроенного инструмента Excel, так и располагаться непосредственно на листе в виде его диапазона, если она создана самим пользователем.
Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.
Способ 1: встроенный объект для ввода данных Excel
Прежде всего, давайте узнаем, как применять встроенную форму для ввода данных Excel.
- Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку «Файл», а затем щелкаем по пункту «Параметры».
- В открывшемся окне параметров Эксель перемещаемся в раздел «Панель быстрого доступа». Большую часть окна занимает обширная область настроек. В левой её части находятся инструменты, которые могут быть добавлены на панель быстрого доступа, а в правой – уже присутствующие.
В поле «Выбрать команды из» устанавливаем значение «Команды не на ленте». Далее из списка команд, расположенного в алфавитном порядке, находим и выделяем позицию «Форма…». Затем жмем на кнопку «Добавить».
- После этого нужный нам инструмент отобразится в правой части окна. Жмем на кнопку «OK».
- Теперь данный инструмент располагается в окне Excel на панели быстрого доступа, и мы им можем воспользоваться. Он будет присутствовать при открытии любой книги данным экземпляром Excel.
- Теперь, чтобы инструмент понял, что именно ему нужно заполнять, следует оформить шапку таблицы и записать любое значение в ней. Пусть табличный массив у нас будет состоять из четырех столбцов, которые имеют названия «Наименование товара», «Количество», «Цена» и «Сумма». Вводим данные названия в произвольный горизонтальный диапазон листа.
- Также, чтобы программа поняла, с каким именно диапазонам ей нужно будет работать, следует ввести любое значение в первую строку табличного массива.
- После этого выделяем любую ячейку заготовки таблицы и щелкаем на панели быстрого доступа по значку «Форма…», который мы ранее активировали.
- Итак, открывается окно указанного инструмента. Как видим, данный объект имеет поля, которые соответствуют названиям столбцов нашего табличного массива. При этом первое поле уже заполнено значением, так как мы его ввели вручную на листе.
- Вводим значения, которые считаем нужными и в остальные поля, после чего жмем на кнопку «Добавить».
- После этого, как видим, в первую строку таблицы были автоматически перенесены введенные значения, а в форме произошел переход к следующему блоку полей, который соответствуют второй строке табличного массива.
- Заполняем окно инструмента теми значениями, которые хотим видеть во второй строке табличной области, и снова щелкаем по кнопке «Добавить».
- Как видим, значения второй строчки тоже были добавлены, причем нам даже не пришлось переставлять курсор в самой таблице.
- Таким образом, заполняем табличный массив всеми значениями, которые хотим в неё ввести.
- Кроме того, при желании, можно производить навигацию по ранее введенным значениям с помощью кнопок «Назад» и «Далее» или вертикальной полосы прокрутки.
- При необходимости можно откорректировать любое значение в табличном массиве, изменив его в форме. Чтобы изменения отобразились на листе, после внесения их в соответствующий блок инструмента, жмем на кнопку «Добавить».
- Как видим, изменение сразу произошло и в табличной области.
- Если нам нужно удалить, какую-то строчку, то через кнопки навигации или полосу прокрутки переходим к соответствующему ей блоку полей в форме. После этого щелкаем по кнопке «Удалить» в окошке инструмента.
- Открывается диалоговое окно предупреждения, в котором сообщается, что строка будет удалена. Если вы уверены в своих действиях, то жмите на кнопку «OK».
- Как видим, строчка была извлечена из табличного диапазона. После того, как заполнение и редактирование закончено, можно выходить из окна инструмента, нажав на кнопку «Закрыть».
- После этого для предания табличному массиву более наглядного визуального вида можно произвести форматирование.
Способ 2: создание пользовательской формы
Кроме того, с помощью макроса и ряда других инструментов существует возможность создать собственную пользовательскую форму для заполнения табличной области. Она будет создаваться прямо на листе, и представлять собой её диапазон. С помощью данного инструмента пользователь сам сможет реализовать те возможности, которые считает нужными. По функционалу он практически ни в чем не будет уступать встроенному аналогу Excel, а кое в чем, возможно, превосходить его. Единственный недостаток состоит в том, что для каждого табличного массива придется составлять отдельную форму, а не применять один и тот же шаблон, как это возможно при использовании стандартного варианта.
- Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: «№ п/п», «Наименование товара», «Количество», «Цена», «Сумма».
- Далее нужно из нашего табличного массива сделать так называемую «умную» таблицу, с возможностью автоматического добавления строчек при заполнении соседних диапазонов или ячеек данными. Для этого выделяем шапку и, находясь во вкладке «Главная», жмем на кнопку «Форматировать как таблицу» в блоке инструментов «Стили». После этого открывается список доступных вариантов стилей. На функционал выбор одного из них никак не повлияет, поэтому выбираем просто тот вариант, который считаем более подходящим.
- Затем открывается небольшое окошко форматирования таблицы. В нем указан диапазон, который мы ранее выделили, то есть, диапазон шапки. Как правило, в данном поле заполнено все верно. Но нам следует установить галочку около параметра «Таблица с заголовками». После этого жмем на кнопку «OK».
- Итак, наш диапазон отформатирован, как «умная» таблица, свидетельством чему является даже изменение визуального отображения. Как видим, помимо прочего, около каждого названия заголовка столбцов появились значки фильтрации. Их следует отключить. Для этого выделяем любую ячейку «умной» таблицы и переходим во вкладку «Данные». Там на ленте в блоке инструментов «Сортировка и фильтр» щелкаем по значку «Фильтр».
Существует ещё один вариант отключения фильтра. При этом не нужно даже будет переходить на другую вкладку, оставаясь во вкладке «Главная». После выделения ячейки табличной области на ленте в блоке настроек «Редактирование» щелкаем по значку «Сортировка и фильтр». В появившемся списке выбираем позицию «Фильтр».
- Как видим, после этого действия значки фильтрации исчезли из шапки таблицы, как это и требовалось.
- Затем нам следует создать саму форму ввода данных. Она тоже будет представлять собой своего рода табличный массив, состоящий из двух столбцов. Наименования строк данного объекта будут соответствовать именам столбцов основной таблицы. Исключение составляют столбцы «№ п/п» и «Сумма». Они будут отсутствовать. Нумерация первого из них будет происходить при помощи макроса, а расчет значений во втором будет производиться путем применения формулы умножения количества на цену.
Второй столбец объекта ввода данных оставим пока что пустым. Непосредственно в него позже будут вводиться значения для заполнения строк основного табличного диапазона.
- После этого создаем ещё одну небольшую таблицу. Она будет состоять из одного столбца и в ней разместится список товаров, которые мы будем выводить во вторую колонку основной таблицы. Для наглядности ячейку с заголовком данного перечня («Список товаров») можно залить цветом.
- Затем выделяем первую пустую ячейку объекта ввода значений. Переходим во вкладку «Данные». Щелкаем по значку «Проверка данных», который размещен на ленте в блоке инструментов «Работа с данными».
- Запускается окно проверки вводимых данных. Кликаем по полю «Тип данных», в котором по умолчанию установлен параметр «Любое значение».
- Из раскрывшихся вариантов выбираем позицию «Список».
- Как видим, после этого окно проверки вводимых значений несколько изменило свою конфигурацию. Появилось дополнительное поле «Источник». Щелкаем по пиктограмме справа от него левой клавишей мыши.
- Затем окно проверки вводимых значений сворачивается. Выделяем курсором с зажатой левой клавишей мыши перечень данных, которые размещены на листе в дополнительной табличной области «Список товаров». После этого опять жмем на пиктограмму справа от поля, в котором появился адрес выделенного диапазона.
- Происходит возврат к окошку проверки вводимых значений. Как видим, координаты выделенного диапазона в нем уже отображены в поле «Источник». Кликаем по кнопке «OK» внизу окна.
- Теперь справа от выделенной пустой ячейки объекта ввода данных появилась пиктограмма в виде треугольника. При клике на неё открывается выпадающий список, состоящий из названий, которые подтягиваются из табличного массива «Список товаров». Произвольные данные в указанную ячейку теперь внести невозможно, а только можно выбрать из представленного списка нужную позицию. Выбираем пункт в выпадающем списке.
- Как видим, выбранная позиция тут же отобразилась в поле «Наименование товара».
- Далее нам нужно будет присвоить имена тем трем ячейкам формы ввода, куда мы будем вводить данные. Выделяем первую ячейку, где уже установлено в нашем случае наименование «Картофель». Далее переходим в поле наименования диапазонов. Оно расположено в левой части окна Excel на том же уровне, что и строка формул. Вводим туда произвольное название. Это может быть любое наименование на латинице, в котором нет пробелов, но лучше все-таки использовать названия близкие к решаемым данным элементом задачам. Поэтому первую ячейку, в которой содержится название товара, назовем «Name». Пишем данное наименование в поле и жмем на клавишу Enter на клавиатуре.
- Точно таким же образом присваиваем ячейке, в которую будем вводить количество товара, имя «Volum».
- А ячейке с ценой – «Price».
- После этого точно таким же образом даем название всему диапазону из вышеуказанных трех ячеек. Прежде всего, выделим, а потом дадим ему наименование в специальном поле. Пусть это будет имя «Diapason».
- После последнего действия обязательно сохраняем документ, чтобы названия, которые мы присвоили, смог воспринимать макрос, созданный нами в дальнейшем. Для сохранения переходим во вкладку «Файл» и кликаем по пункту «Сохранить как…».
- В открывшемся окне сохранения в поле «Тип файлов» выбираем значение «Книга Excel с поддержкой макросов (.xlsm)». Далее жмем на кнопку «Сохранить».
- Затем вам следует активировать работу макросов в своей версии Excel и включить вкладку «Разработчик», если вы это до сих пор не сделали. Дело в том, что обе эти функции по умолчанию в программе отключены, и их активацию нужно выполнять принудительно в окне параметров Excel.
- После того, как вы сделали это, переходим во вкладку «Разработчик». Кликаем по большому значку «Visual Basic», который расположен на ленте в блоке инструментов «Код».
- Последнее действие приводит к тому, что запускается редактор макросов VBA. В области «Project», которая расположена в верхней левой части окна, выделяем имя того листа, где располагаются наши таблицы. В данном случае это «Лист 1».
- После этого переходим к левой нижней области окна под названием «Properties». Тут расположены настройки выделенного листа. В поле «(Name)» следует заменить кириллическое наименование («Лист1») на название, написанное на латинице. Название можно дать любое, которое вам будет удобнее, главное, чтобы в нем были исключительно символы латиницы или цифры и отсутствовали другие знаки или пробелы. Именно с этим именем будет работать макрос. Пусть в нашем случае данным названием будет «Producty», хотя вы можете выбрать и любое другое, соответствующее условиям, которые были описаны выше.
В поле «Name» тоже можно заменить название на более удобное. Но это не обязательно. При этом допускается использование пробелов, кириллицы и любых других знаков. В отличие от предыдущего параметра, который задает наименование листа для программы, данный параметр присваивает название листу, видимое пользователю на панели ярлыков.
Как видим, после этого автоматически изменится и наименование Листа 1 в области «Project», на то, которое мы только что задали в настройках.
- Затем переходим в центральную область окна. Именно тут нам нужно будет записать сам код макроса. Если поле редактора кода белого цвета в указанной области не отображается, как в нашем случае, то жмем на функциональную клавишу F7 и оно появится.
- Теперь для конкретно нашего примера нужно записать в поле следующий код:
Sub DataEntryForm()
Dim nextRow As Long
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
With Producty
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
nextRow = nextRow - 1
End If
Producty.Range("Name").Copy
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range("Volum").Value
.Cells(nextRow, 4).Value = Producty.Range("Price").Value
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
.Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
.Range("Diapason").ClearContents
End With
End Sub
Но этот код не универсальный, то есть, он в неизменном виде подходит только для нашего случая. Если вы хотите его приспособить под свои потребности, то его следует соответственно модифицировать. Чтобы вы смогли сделать это самостоятельно, давайте разберем, из чего данный код состоит, что в нем следует заменить, а что менять не нужно.
Итак, первая строка:
Sub DataEntryForm()
«DataEntryForm» — это название самого макроса. Вы можете оставить его как есть, а можете заменить на любое другое, которое соответствует общим правилам создания наименований макросов (отсутствие пробелов, использование только букв латинского алфавита и т.д.). Изменение наименования ни на что не повлияет.
Везде, где встречается в коде слово «Producty» вы должны его заменить на то наименование, которое ранее присвоили для своего листа в поле «(Name)» области «Properties» редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.
Теперь рассмотрим такую строку:
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
Цифра «2» в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка «Наименование товара». По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение «End(xlUp).Offset(1, 0).Row» в любом случае оставляем без изменений.
Далее рассмотрим строку
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
«A2» — это координаты первой ячейки, в которой будет выводиться нумерация строк. «B2» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.
Переходим к строке
Producty.Range("Name").Copy
В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.
В строках
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range("Volum").Value
.Cells(nextRow, 4).Value = Producty.Range("Price").Value
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
наименования «Volum» и «Price» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.
В этих же строках, которые мы указали выше, цифры «2», «3», «4», «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара», «Количество», «Цена» и «Сумма». Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.
В строке производится умножение количества товара на его цену:
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.
В этом выражении выполняется автоматическая нумерация строк:
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
Все значения «A2» означают адрес первой ячейки, где будет производиться нумерация, а координаты «A» — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.
В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:
.Range("Diapason").ClearContents
Не трудно догадаться, что («Diapason») означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.
Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.
После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.
- После этого возвращаемся на лист Excel. Теперь нам следует разместить кнопку, которая будет активировать созданный макрос. Для этого переходим во вкладку «Разработчик». В блоке настроек «Элементы управления» на ленте кликаем по кнопке «Вставить». Открывается перечень инструментов. В группе инструментов «Элементы управления формы» выбираем самый первый – «Кнопка».
- Затем с зажатой левой клавишей мыши обводим курсором область, где хотим разместить кнопку запуска макроса, который будет производить перенос данных из формы в таблицу.
- После того, как область обведена, отпускаем клавишу мыши. Затем автоматически запускается окно назначения макроса объекту. Если в вашей книге применяется несколько макросов, то выбираем из списка название того, который мы выше создавали. У нас он называется «DataEntryForm». Но в данном случае макрос один, поэтому просто выбираем его и жмем на кнопку «OK» внизу окна.
- После этого можно переименовать кнопку, как вы захотите, просто выделив её текущее название.
В нашем случае, например, логично будет дать ей имя «Добавить». Переименовываем и кликаем мышкой по любой свободной ячейке листа.
- Итак, наша форма полностью готова. Проверим, как она работает. Вводим в её поля необходимые значения и жмем на кнопку «Добавить».
- Как видим, значения перемещены в таблицу, строке автоматически присвоен номер, сумма посчитана, поля формы очищены.
- Повторно заполняем форму и жмем на кнопку «Добавить».
- Как видим, и вторая строка также добавлена в табличный массив. Это означает, что инструмент работает.
Читайте также:
Как создать макрос в Excel
Как создать кнопку в Excel
В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде VBA, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.
Excel для Microsoft 365 для Mac Excel 2021 для Mac Excel 2019 для Mac Excel 2016 для Mac Еще…Меньше
Вы можете создать форму в Excel, добавив в книгу элементы управления содержимым, такие как кнопки, флажки, списки и поля со списками. После этого другие пользователи смогут заполнить эту форму в приложении Excel и при желании распечатать ее.
Шаг 1. Отображение вкладки «Разработчик».
-
В меню Excel выберите элемент Параметры.
-
В разделе Разработка выберите Представление.
-
В разделе Показывать на ленте установите флажок Вкладка «Разработчик».
Шаг 2. Добавление и форматирование элементов управления содержимым
-
На вкладке Разработчик выберите элемент управления, который хотите добавить.
-
На листе щелкните место, куда нужно вставить элемент управления.
-
Чтобы задать свойства элемента управления, щелкните его, удерживая нажатой клавишу CONTROL, и выберите пункт Формат элемента управления.
-
В окне Формат объекта задайте такие свойства элемента управления, как шрифт, выравнивание и цвет.
-
Повторите действия 1–4 для каждого добавляемого элемента управления.
Шаг 3. Защита листа, содержащего форму
-
В меню Сервис наведите указатель на пункт Защита и выберите команду Защитить лист.
-
Выберите нужные параметры защиты.
-
Сохраните и закройте книгу.
Совет: Чтобы продолжить редактирование после защиты формы, в меню Сервис наведите указатель на пункт Защита и выберите команду Снять защиту листа.
Шаг 4. Проверка формы (необязательно)
При необходимости вы можете проверить форму, прежде чем распространять ее.
-
Защитите форму, как указано в описании шага 3.
-
Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.
Нужна дополнительная помощь?
Вы использовали такие инструменты, как Microsoft Forms, Google Forms или даже Microsoft Word для создания форм. Но если вам удобнее всего использовать Excel, почему бы не использовать его для создания нужной формы? Вот как.
Чтобы использовать инструменты, необходимые для создания формы в Excel, необходимо включить вкладку «Разработчик». Если вы уже видите эту вкладку, вы на шаг впереди и можете перейти к следующему разделу. Но если нет, вот как показать вкладку «Разработчик».
Откройте Excel и перейдите в меню «Файл»> «Параметры». Нажмите «Настроить ленту» в левой части окна параметров Excel.
Справа используйте раздел «Настроить ленту» и выберите «Основные вкладки» в раскрывающемся списке. Затем установите флажок «Разработчик» и нажмите «ОК».
Когда параметры Excel закроются, вы должны увидеть вкладку Разработчик.
Создать форму в Excel
Чтобы добавить в форму элементы управления, такие как раскрывающиеся списки, кнопки или списки, перейдите в раздел «Элементы управления» на вкладке «Разработчик».
Перейдите в место на листе, куда вы хотите добавить элемент управления, и щелкните стрелку раскрывающегося списка Вставить. Выберите элемент управления, который вы хотите добавить, а затем используйте появившийся знак плюса, чтобы обозначить его размер.
В качестве примера мы вставим раскрывающийся список с помощью элемента управления формы.
Примечание. Вы также можете добавить раскрывающийся список в Excel, используя функцию проверки данных, а также зависимый раскрывающийся список.
Щелкните значок поля со списком в элементах управления формы и нарисуйте поле.
Выберите поле со списком и нажмите «Свойства» в разделе «Элементы управления» на ленте.
На вкладке «Управление» введите диапазон ввода, который представляет собой ячейки, содержащие элементы списка. Вы также можете перетаскивать ячейки, чтобы заполнить это поле. Нажмите «ОК».
Тогда у вас будет красивый и аккуратный список для выбора.
В качестве другого примера мы вставим пару флажков для Да и Нет. Щелкните значок флажка в элементах управления формы и нарисуйте первый флажок. Убедитесь, что размер был достаточно широким, чтобы разместить текст, который вы хотите поставить рядом с флажком.
Щелкните правой кнопкой мыши элемент управления «Флажок», выберите «Изменить текст» и введите текст, который нужно отобразить.
Чтобы настроить дополнительные параметры для элемента управления формы, такие как отображение поля как снятого, выберите элемент управления и нажмите «Свойства» на ленте. Внесите необходимые изменения и нажмите «ОК».
Затем мы следуем тому же процессу, чтобы создать следующий флажок. Теперь наша форма действительно обретает форму!
Вы можете использовать эти типы элементов управления для своей формы или выбрать другие, такие как кнопки, полосы прокрутки и кнопки выбора.
Защитите свою форму
Если вы планируете поделиться формой в цифровом виде, вы можете защитить ее от нежелательных изменений текста и элементов управления.
Перейдите на вкладку «Обзор» и выберите «Защитить лист» в разделе «Защита» на ленте.
Выберите все нужные параметры и при необходимости укажите пароль. Обратите внимание: если вам не нужен пароль, другой пользователь может снять защиту с листа. Нажмите «ОК».
Когда вы предоставите общий доступ к электронной таблице, другие пользователи смогут использовать элементы управления формы, но не смогут редактировать их или другие элементы на защищаемом вами листе. Если они попытаются, они получат сообщение об ошибке, сообщающее им, что лист защищен.
Если вы хотите внести дополнительные изменения в форму, нажмите «Снять защиту с листа» на вкладке «Обзор».
Чтобы получить дополнительную помощь по блокировке определенных ячеек для защиты их от редактирования, ознакомьтесь с нашими инструкциями по блокировке ячеек в Excel.
Нам потребуется обычный файл Excel. Вы можете взять за основу имеющийся или начать с чистого листа.
Составляем список данных, которыми нам требуется заполнять договор: номер, дата, предмет договора, сумма, срок, данные заказчика и так далее. Для каждого элемента нам потребуется создать в Excel свою ячейку для заполнения. У меня получилась примерно такая форма:
Оформление может быть любым, на ваш вкус и цвет. При формировании формы я использовал стили, расположенные на вкладке Главная. Это быстро и удобно, а также позволяет в один клик изменить цветовую гамму на вкладке меню «Разметка страницы» — «Тема»
Автоматизация формы
Часть данных (номер договора, сумма, срок), необходимо заполнять всегда тут ничего не сделаешь. Но как мы видим есть часть данных, которые хорошо бы заполнить автоматически. Это — сумма прописью, срок прописью, данные заказчика в родительном падеже и так далее. Давайте их автоматизируем.
Дата договора
В Excel существует множество функций по работе с датами. Если дата договора всегда текущая, то можно использовать функцию =СЕГОДНЯ(). При необходимости можно настроить, чтобы дата рассчитывалась как следующий рабочий день =РАБДЕНЬ(СЕГОДНЯ();1).
Для вставки даты вы можете использовать календарь из программы:
Сумма договора
Тут можно автоматизировать заполнение значения суммы договора прописью, для этого в программе есть специальная кнопка Деньги прописью, которая поможет сформировать формулу для автоматического расчета. Программа умеет склонять по всем падежам и поддерживает формирование суммы в нескольких форматах.
Срок прописью
Срок прописью аналогично, хочется вводить только цифры, чтобы в документ вставлялось прописью полностью. Кстати, это касается не только срока, это может быть количество чего угодно: услуги, штуки, килограммы, яблоки, помидоры и так далее. В программе Doc.filler все это можно автоматизировать. Откройте функции и выберите Вещи прописью.
В диалоговом окне сформируйте нужную вам формулу.
Заполнение заказчика
Данные заказчика идеально подгружать из внутренней системы заказчика 1С или другой CRM. Если такой возможности нет, то для начала можно упростить жизнь путем создания справочника правовых форм (ООО, ОАО и т.д.) Тогда нам потребуется просто выбрать из списка нужную форму и указать наименование. Остальное мы сделаем на формулах.
Итак создадим отдельный лист и разместим там таблицу со списком правовых форм.
Таблицу можно отформатировать как табличный диапазон, так с ней будет проще работать далее.
Теперь на форме создадим динамичный выпадающий список с данными правовых форм.
Осталось создать формулы для заполнения заказчика сокращенно в моем случае это формула = Правовая_форма &» «& Заказчик_наименование . Замените на соответствующие ячейки.
Формула для полного наименования заказчика следующая =ВПР( Правовая_форма ; ПравовыеФормы ;2;0)&» «& Заказчик_наименование . ПравовыеФормы — название таблицы со справочником форм.
Результат выглядит следующим образом:
Склонение ФИО подписанта
Сейчас посмотрим как автоматически склонять ФИО подписанта. Для этого в программе есть соответствующая функция, которую можно вставить из меню:
Программа умеет склонять 90% русских ФИО по всем падежам.
Склонение должности и других фраз
Аналогичным образом склоняются должности и другие короткие фразы договора, например Устав. Вставьте функцию Склонение фраз через ленту меню:
Итоговая форма
В результате мы создали форму и автоматизировали часть информации, чтобы не приходилось вводить ее по нескольку раз.
Следующим нашим шагом будет создание шаблона договора и последующее его автоматическое заполнение данными из формы.
Создание форм для заполнения и печати в Excel
Вы можете создать форму в Excel, добавив в книгу элементы управления содержимым, такие как кнопки, флажки, списки и поля со списками. После этого другие пользователи смогут заполнить эту форму в приложении Excel и при желании распечатать ее.
Шаг 1. Отображение вкладки «Разработчик».
В меню Excel выберите элемент Параметры.
В разделе Разработка выберите Представление.
В разделе Показывать на ленте установите флажок Вкладка «Разработчик».
Шаг 2. Добавление и форматирование элементов управления содержимым
На вкладке Разработчик выберите элемент управления, который хотите добавить.
На листе щелкните место, куда нужно вставить элемент управления.
Чтобы задать свойства элемента управления, щелкните его, удерживая нажатой клавишу CONTROL, и выберите пункт Формат элемента управления.
В окне Формат объекта задайте такие свойства элемента управления, как шрифт, выравнивание и цвет.
Повторите действия 1–4 для каждого добавляемого элемента управления.
Шаг 3. Защита листа, содержащего форму
В меню Сервис наведите указатель на пункт Защита и выберите команду Защитить лист.
Выберите нужные параметры защиты.
Сохраните и закройте книгу.
Совет: Чтобы продолжить редактирование после защиты формы, в меню Сервис наведите указатель на пункт Защита и выберите команду Снять защиту листа.
Шаг 4. Проверка формы (необязательно)
При необходимости вы можете проверить форму, прежде чем распространять ее.
Защитите форму, как указано в описании шага 3.
Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.
Формы ввода данных в Microsoft Excel
Для облегчения ввода данных в таблицу в Excel можно воспользоваться специальными формами, которые помогут ускорить процесс заполнения табличного диапазона информацией. В Экселе имеется встроенный инструмент позволяющий производить заполнение подобным методом. Также пользователь может создать собственный вариант формы, которая будет максимально адаптирована под его потребности, применив для этого макрос. Давайте рассмотрим различные варианты использования этих полезных инструментов заполнения в Excel.
Применение инструментов заполнения
Форма заполнения представляет собой объект с полями, наименования которых соответствуют названиям колонок столбцов заполняемой таблицы. В эти поля нужно вводить данные и они тут же будут добавляться новой строкой в табличный диапазон. Форма может выступать как в виде отдельного встроенного инструмента Excel, так и располагаться непосредственно на листе в виде его диапазона, если она создана самим пользователем.
Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.
Способ 1: встроенный объект для ввода данных Excel
Прежде всего, давайте узнаем, как применять встроенную форму для ввода данных Excel.
- Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку «Файл», а затем щелкаем по пункту «Параметры».
Способ 2: создание пользовательской формы
Кроме того, с помощью макроса и ряда других инструментов существует возможность создать собственную пользовательскую форму для заполнения табличной области. Она будет создаваться прямо на листе, и представлять собой её диапазон. С помощью данного инструмента пользователь сам сможет реализовать те возможности, которые считает нужными. По функционалу он практически ни в чем не будет уступать встроенному аналогу Excel, а кое в чем, возможно, превосходить его. Единственный недостаток состоит в том, что для каждого табличного массива придется составлять отдельную форму, а не применять один и тот же шаблон, как это возможно при использовании стандартного варианта.
- Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: «№ п/п», «Наименование товара», «Количество», «Цена», «Сумма».
В поле «Name» тоже можно заменить название на более удобное. Но это не обязательно. При этом допускается использование пробелов, кириллицы и любых других знаков. В отличие от предыдущего параметра, который задает наименование листа для программы, данный параметр присваивает название листу, видимое пользователю на панели ярлыков.
Sub DataEntryForm()
Dim nextRow As Long
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
With Producty
If .Range(«A2»).Value = «» And .Range(«B2»).Value = «» Then
nextRow = nextRow — 1
End If
Producty.Range(«Name»).Copy
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range(«Volum»).Value
.Cells(nextRow, 4).Value = Producty.Range(«Price»).Value
.Cells(nextRow, 5).Value = Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value
.Range(«A2»).Formula = «=IF(ISBLANK(B2), «»»», COUNTA($B$2:B2))»
If nextRow > 2 Then
Range(«A2»).Select
Selection.AutoFill Destination:=Range(«A2:A» & nextRow)
Range(«A2:A» & nextRow).Select
End If
.Range(«Diapason»).ClearContents
End With
End Sub
Но этот код не универсальный, то есть, он в неизменном виде подходит только для нашего случая. Если вы хотите его приспособить под свои потребности, то его следует соответственно модифицировать. Чтобы вы смогли сделать это самостоятельно, давайте разберем, из чего данный код состоит, что в нем следует заменить, а что менять не нужно.
Итак, первая строка:
«DataEntryForm» — это название самого макроса. Вы можете оставить его как есть, а можете заменить на любое другое, которое соответствует общим правилам создания наименований макросов (отсутствие пробелов, использование только букв латинского алфавита и т.д.). Изменение наименования ни на что не повлияет.
Везде, где встречается в коде слово «Producty» вы должны его заменить на то наименование, которое ранее присвоили для своего листа в поле «(Name)» области «Properties» редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.
Теперь рассмотрим такую строку:
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
Цифра «2» в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка «Наименование товара». По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение «End(xlUp).Offset(1, 0).Row» в любом случае оставляем без изменений.
Далее рассмотрим строку
If .Range(«A2»).Value = «» And .Range(«B2»).Value = «» Then
«A2» — это координаты первой ячейки, в которой будет выводиться нумерация строк. «B2» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.
Переходим к строке
В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range(«Volum»).Value
.Cells(nextRow, 4).Value = Producty.Range(«Price»).Value
.Cells(nextRow, 5).Value = Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value
наименования «Volum» и «Price» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.
В этих же строках, которые мы указали выше, цифры «2», «3», «4», «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара», «Количество», «Цена» и «Сумма». Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.
В строке производится умножение количества товара на его цену:
.Cells(nextRow, 5).Value = Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value
Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.
В этом выражении выполняется автоматическая нумерация строк:
If nextRow > 2 Then
Range(«A2»).Select
Selection.AutoFill Destination:=Range(«A2:A» & nextRow)
Range(«A2:A» & nextRow).Select
End If
Все значения «A2» означают адрес первой ячейки, где будет производиться нумерация, а координаты «A» — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.
В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:
Не трудно догадаться, что («Diapason») означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.
Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.
В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде VBA, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.