При упоминании баз данных (БД) первым делом, конечно, в голову приходят всякие умные слова типа SQL, Oracle, 1С или хотя бы Access. Безусловно, это очень мощные (и недешевые в большинстве своем) программы, способные автоматизировать работу большой и сложной компании с кучей данных. Беда в том, что иногда такая мощь просто не нужна. Ваш бизнес может быть небольшим и с относительно несложными бизнес-процессами, но автоматизировать его тоже хочется. Причем именно для маленьких компаний это, зачастую, вопрос выживания.
Для начала давайте сформулируем ТЗ. В большинстве случаев база данных для учета, например, классических продаж должна уметь:
- хранить в таблицах информацию по товарам (прайс), совершенным сделкам и клиентам и связывать эти таблицы между собой
- иметь удобные формы ввода данных (с выпадающими списками и т.п.)
- автоматически заполнять этими данными какие-то печатные бланки (платежки, счета и т.д.)
- выдавать необходимые вам отчеты для контроля всего бизнес-процесса с точки зрения руководителя
Со всем этим вполне может справиться Microsoft Excel, если приложить немного усилий. Давайте попробуем это реализовать.
Шаг 1. Исходные данные в виде таблиц
Информацию о товарах, продажах и клиентах будем хранить в трех таблицах (на одном листе или на разных — все равно). Принципиально важно, превратить их в «умные таблицы» с автоподстройкой размеров, чтобы не думать об этом в будущем. Это делается с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table). На появившейся затем вкладке Конструктор (Design) присвоим таблицам наглядные имена в поле Имя таблицы для последующего использования:
Итого у нас должны получиться три «умных таблицы»:
Обратите внимание, что таблицы могут содержать дополнительные уточняющие данные. Так, например, наш Прайс содержит дополнительно информацию о категории (товарной группе, упаковке, весу и т.п.) каждого товара, а таблица Клиенты — город и регион (адрес, ИНН, банковские реквизиты и т.п.) каждого из них.
Таблица Продажи будет использоваться нами впоследствии для занесения в нее совершенных сделок.
Шаг 2. Создаем форму для ввода данных
Само-собой, можно вводить данные о продажах непосредственно в зеленую таблицу Продажи, но это не всегда удобно и влечет за собой появление ошибок и опечаток из-за «человеческого фактора». Поэтому лучше будет на отдельном листе сделать специальную форму для ввода данных примерно такого вида:
В ячейке B3 для получения обновляемой текущей даты-времени используем функцию ТДАТА (NOW). Если время не нужно, то вместо ТДАТА можно применить функцию СЕГОДНЯ (TODAY).
В ячейке B11 найдем цену выбранного товара в третьем столбце умной таблицы Прайс с помощью функции ВПР (VLOOKUP). Если раньше с ней не сталкивались, то сначала почитайте и посмотрите видео тут.
В ячейке B7 нам нужен выпадающий список с товарами из прайс-листа. Для этого можно использовать команду Данные — Проверка данных (Data — Validation), указать в качестве ограничения Список (List) и ввести затем в поле Источник (Source) ссылку на столбец Наименование из нашей умной таблицы Прайс:
Аналогичным образом создается выпадающий список с клиентами, но источник будет уже:
=ДВССЫЛ(«Клиенты[Клиент]»)
Функция ДВССЫЛ (INDIRECT) нужна, в данном случае, потому что Excel, к сожалению, не понимает прямых ссылок на умные таблицы в поле Источник. Но та же ссылка «завернутая» в функцию ДВССЫЛ работает при этом «на ура» (подробнее об этом было в статье про создание выпадающих списков с наполнением).
Шаг 3. Добавляем макрос ввода продаж
После заполнения формы нужно введенные в нее данные добавить в конец таблицы Продажи. Сформируем при помощи простых ссылок строку для добавления прямо под формой:
Т.е. в ячейке A20 будет ссылка =B3, в ячейке B20 ссылка на =B7 и т.д.
Теперь добавим элементарный макрос в 2 строчки, который копирует созданную строку и добавляет ее к таблице Продажи. Для этого жмем сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer). Если эту вкладку не видно, то включите ее сначала в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon). В открывшемся окне редактора Visual Basic вставляем новый пустой модуль через меню Insert — Module и вводим туда код нашего макроса:
Sub Add_Sell() Worksheets("Форма ввода").Range("A20:E20").Copy 'копируем строчку с данными из формы n = Worksheets("Продажи").Range("A100000").End(xlUp).Row 'определяем номер последней строки в табл. Продажи Worksheets("Продажи").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues 'вставляем в следующую пустую строку Worksheets("Форма ввода").Range("B5,B7,B9").ClearContents 'очищаем форму End Sub
Теперь можно добавить к нашей форме кнопку для запуска созданного макроса, используя выпадающий список Вставить на вкладке Разработчик (Developer — Insert — Button):
После того, как вы ее нарисуете, удерживая нажатой левую кнопку мыши, Excel сам спросит вас — какой именно макрос нужно на нее назначить — выбираем наш макрос Add_Sell. Текст на кнопке можно поменять, щелкнув по ней правой кнопкой мыши и выбрав команду Изменить текст.
Теперь после заполнения формы можно просто жать на нашу кнопку, и введенные данные будут автоматически добавляться к таблице Продажи, а затем форма очищается для ввода новой сделки.
Шаг 4. Связываем таблицы
Перед построением отчета свяжем наши таблицы между собой, чтобы потом можно было оперативно вычислять продажи по регионам, клиентам или категориям. В старых версиях Excel для этого потребовалось бы использовать несколько функций ВПР (VLOOKUP) для подстановки цен, категорий, клиентов, городов и т.д. в таблицу Продажи. Это требует времени и сил от нас, а также «кушает» немало ресурсов Excel. Начиная с Excel 2013 все можно реализовать существенно проще, просто настроив связи между таблицами.
Для этого на вкладке Данные (Data) нажмите кнопку Отношения (Relations). В появившемся окне нажмите кнопку Создать (New) и выберите из выпадающих списков таблицы и названия столбцов, по которым они должны быть связаны:
Важный момент: таблицы нужно задавать именно в таком порядке, т.е. связанная таблица (Прайс) не должна содержать в ключевом столбце (Наименование) повторяющихся товаров, как это происходит в таблице Продажи. Другими словами, связанная таблица должна быть той, в которой вы искали бы данные с помощью ВПР, если бы ее использовали.
Само-собой, аналогичным образом связываются и таблица Продажи с таблицей Клиенты по общему столбцу Клиент:
После настройки связей окно управления связями можно закрыть, повторять эту процедуру уже не придется.
Шаг 5. Строим отчеты с помощью сводной
Теперь для анализа продаж и отслеживания динамики процесса, сформируем для примера какой-нибудь отчет с помощью сводной таблицы. Установите активную ячейку в таблицу Продажи и выберите на ленте вкладку Вставка — Сводная таблица (Insert — Pivot Table). В открывшемся окне Excel спросит нас про источник данных (т.е. таблицу Продажи) и место для выгрузки отчета (лучше на новый лист):
Жизненно важный момент состоит в том, что нужно обязательно включить флажок Добавить эти данные в модель данных (Add data to Data Model) в нижней части окна, чтобы Excel понял, что мы хотим строить отчет не только по текущей таблице, но и задействовать все связи.
После нажатия на ОК в правой половине окна появится панель Поля сводной таблицы, где нужно щелкнуть по ссылке Все, чтобы увидеть не только текущую, а сразу все «умные таблицы», которые есть в книге.А затем можно, как и в классической сводной таблице, просто перетащить мышью нужные нам поля из любых связанных таблиц в области Фильтра, Строк, Столбцов или Значений — и Excel моментально построит любой нужный нам отчет на листе:
Не забудьте, что сводную таблицу нужно периодически (при изменении исходных данных) обновлять, щелкнув по ней правой кнопкой мыши и выбрав команду Обновить (Refresh), т.к. автоматически она этого делать не умеет.
Также, выделив любую ячейку в сводной и нажав кнопку Сводная диаграмма (Pivot Chart) на вкладке Анализ (Analysis) или Параметры (Options) можно быстро визуализировать посчитанные в ней результаты.
Шаг 6. Заполняем печатные формы
Еще одной типовой задачей любой БД является автоматическое заполнение различных печатных бланков и форм (накладные, счета, акты и т.п.). Про один из способов это сделать, я уже как-то писал. Здесь же реализуем, для примера, заполнение формы по номеру счета:
Предполагается, что в ячейку C2 пользователь будет вводить число (номер строки в таблице Продажи, по сути), а затем нужные нам данные подтягиваются с помощью уже знакомой функции ВПР (VLOOKUP) и функции ИНДЕКС (INDEX).
Ссылки по теме
- Как использовать функцию ВПР (VLOOKUP) для поиска и подстановки значений
- Как заменить ВПР функциями ИНДЕКС и ПОИСКПОЗ
- Автоматическое заполнение форм и бланков данными из таблицы
- Создание отчетов с помощью сводных таблиц
Содержание
- Применение инструментов заполнения
- Способ 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, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.
Using Excel to store data records is an oft-used — if sometimes frustrating — alternative to setting up a database. However, the data entry form in Excel is a pivotal tool. This article provides all the steps necessary to get started with the Excel data entry form. If you’re looking for something easier, download the free Excel template to get started immediately.
Download a Free Excel Data Entry Form Template
Download Excel Data Entry Form Template
Use this free template to create a customized data entry form that allows you to apply multiple restrictions to a field (such as numeric and five digits long for a ZIP code field), make a field mandatory, or make it unique from all other records (for example, for an order number). Enter the number of fields needed for each record, select a title and options for each field in the record, and then move to the second sheet to start entering data.
What Are Excel Forms?
Excel offers the ability to make data entry easier by using a form, which is a dialog box with the fields for one record. The form allows data entry, a search function for existing entries, and the ability to edit or delete the data.
The example below has two fields per record. The form allows up to 32 fields per record.
In addition to the navigation buttons, you can use the following keyboard commands to navigate through the form:
- Tab: Move to the next field.
- Shift+Tab: Move to the previous field.
- Enter: Save the record and start a new one.
Benefits of Using an Excel Data Entry Form
In addition to being able to enter data quickly and accurately, the form allows users to see more content without scrolling because the data appears in a vertical format (rather than horizontal). The form can also include data validation, including a dropdown list of pre-selected items in a column or ensuring that an entry meets certain criteria (such as a date or character length).
How Do I Create a Data Entry Form in Excel?
In general, the steps are to select an area in the sheet, insert a table, add titles at the top of the columns, and then find the form option in the data menu. To create a form, see the steps below for your version of Excel.
How Do I Create a Data Entry Form in Excel 2016?
These instructions also apply to Excel 365, and to Excel 2019 for PC. These steps were created with a different version of Excel so the interface will look different, but the steps are the same.
- On the chosen sheet, highlight the number of columns needed.
- Open the Tables tab, click New, click Insert Table with Headers.
- Change the default column headers, and adjust the width of columns if necessary.
- Open the Data menu and click Form…
- The form will appear. The number of columns in the table will match the number of fields on the form. The column titles in the table will be the field titles on the form. You are now ready to enter data records into the form.
Inserting a Record
Type data into the first field, tab to the next field, and repeat until all fields are completed. Press Enter on your keyboard to save the data and move to the next record.
Finding a Record
Once you have entered data, you may want to find a record. To do so, click Criteria, enter the search term into the appropriate field (e.g. “Chicago” into a city field). Click Find Next. The first matching record will appear in the form (the records displayed in the sheet won’t be filtered). Click Find Next to scroll through the remaining records, or click Find Previous to scroll upward. You can use wildcard characters such as “*” and “?” when searching the records.
Editing a Record
Once the desired record is displayed in the form, select the field you want to change and edit the text. Hit Enter on your keyboard to save changes.
Deleting a Record
Once the desired record is displayed in the form, click Delete, then click OK.
How Do I Create a Data Entry Form in Excel 2013?
The steps for adding, finding, editing, and deleting a record are the same as for Excel 2016, so follow the steps above. The appearance may be slightly different. In general, the steps are to select an area in the sheet, insert a table, add titles at the top of the columns, and then find the form option in the data menu.
How Do I Create a Data Entry Form in Excel 2010?
In general, the steps are to select an area in the sheet, insert a table, add titles at the top of the columns, and then find the form option in the data menu. You can follow the steps for adding, finding, editing, and deleting a record in Excel 2016 above. Note that the interface may be slightly different.
How Do I Create a Data Entry Form in Excel 2007?
Select an area in the sheet, insert a table, add titles at the top of the columns, and then find the form option in the data menu. Follow the steps above for Excel 2016 to add, find, edit, or delete. The interface may be slightly different.
How Do I Create a Data Entry Form with a Single Click?
Adding a Drop-Down List to an Excel Data Entry Form
A drop-down menu presents a predefined list of options in a data entry form field. This is useful when you need to enter a set list of employees, products, part numbers, etc. into a field.
- Add a new sheet to the workbook (you can also use a blank sheet) by clicking the plus sign on the tabs at the bottom of the window.
While not required, it makes sense to change the name of the sheet to something like “data.” Double-click the new sheet’s title tab and type the new name.
- Enter the list of options into a column in the new sheet. If more than one field in the form needs a dropdown list, repeat the process in another column. If you have more than one field with a dropdown list, the data column for each list can be on the same sheet or on different sheets, depending on your preference.
- Return to the worksheet with the table and select the column that will have the dropdown list.
- On the ribbon, click Data, click Validate, click arrow next to the Allow field and click List.
Ensure the In-cell dropdown option is checked and put the cursor in the Source field.
- Click on the tab for the sheet with the list (in our example, the Data sheet), highlight the list of items (the sheet and cell reference will be added to the source field), and click OK.
- Show the data entry form based on the steps above. The field connected to that column will only allow entries from the list on the other sheet.
Note: In some older versions of Excel, the dropdown will not appear in the form, but the field will still be restricted to the list in on the data sheet.
Other Types of Cell Validation
In addition to a restricted list, the form fields can have other restrictions. Select the column and click Data on the ribbon, click Validate, click the Allow field, and then choose one of the options below:
- Make a Column a Date or Time: Select Date or Time. If needed, enter start and end values to constrain the starting and ending date or times.
- Make a Column Numeric: Select Whole number or Decimal. If needed, enter start and/or ending values to constrain the range.
- Restrict the Length: Select Text length. If needed, enter start and end values to constrain the range.
How Do I Create a Submit Button in Excel?
A submit button is a user-created control button that runs a macro when clicked. The macro can be any valid macro, such as sorting data, removing blank rows, or saving a sheet as a PDF.
There are two ways to create a button. One uses ActiveX, the other uses Visual Basic (VBA), so they are beyond the scope of this article. If you have experience with ActiveX or Visual Basic, Microsoft’s support site offers instructions.
How Do I Insert a UserForm in Excel?
A UserForm is an Excel tool that is similar to a data entry form. However, it is more flexible because it allows the use of checkboxes, radio buttons, multiple selections, and scrolling lists to enter data in addition to text boxes. Creating Userforms requires knowledge of Visual Basic. If you have experience with Visual Basic, a tutorial for creating UserForms can be found here or here.
How Do I Create a Data Entry Form with VBA?
A data entry form can be created with VBA in the same way as a UserForm in Excel.
Streamline Data Collection with Smartsheet Forms
Empower your people to go above and beyond with a flexible platform designed to match the needs of your team — and adapt as those needs change.
The Smartsheet platform makes it easy to plan, capture, manage, and report on work from anywhere, helping your team be more effective and get more done. Report on key metrics and get real-time visibility into work as it happens with roll-up reports, dashboards, and automated workflows built to keep your team connected and informed.
When teams have clarity into the work getting done, there’s no telling how much more they can accomplish in the same amount of time. Try Smartsheet for free, today.
Базы данных (БД) — набор упорядоченной информации, которая хранится в одном месте. Их создают, чтобы быстро находить, систематизировать и редактировать нужные данные, а при необходимости собирать их в отчёт или показывать в виде диаграммы.
Специализированных программ для формирования и ведения баз данных много. В том же MS Office для этого есть отдельное приложение — Microsoft Access. Но и в Excel достаточно возможностей для создания простых баз и удобного управления ими. Есть ограничение — количество строк базы данных в Excel не должно быть больше одного миллиона.
В статье разберёмся:
- как выглядит база данных в Excel;
- как её создать и настроить;
- как работать с готовой базой данных в Excel — фильтровать, сортировать и искать записи.
База данных в Excel — таблица с информацией. Она состоит из однотипных строк — записей базы данных. Записи распределены по столбцам — полям базы данных.
Скриншот: Excel / Skillbox Media
Названия полей — шапка таблицы — определяют структуру базы данных. Они показывают, какую информацию содержит база. В примере выше это имя менеджера автосалона, дата продажи, модель и характеристики автомобиля, который он продал.
Каждая запись — строка таблицы — относится к одному объекту базы данных и содержит информацию о нём. В нашем примере записи характеризуют продажи, совершённые менеджерами автосалона.
При создании базы данных нельзя оставлять промежуточные строки полностью пустыми, как на скриншоте ниже. Так база теряет свою целостность — в таком виде ей нельзя управлять как единым объектом.
Скриншот: Excel / Skillbox Media
Разберём пошагово, как создать базу данных из примера выше и управлять ей.
Создаём структуру базы данных
Выше мы определили, что структуру базы данных определяют названия полей (шапка таблицы).
Задача для нашего примера — создать базу данных, в которой будут храниться все данные о продажах автомобилей менеджерами автосалона. Каждая запись базы — одна продажа, поэтому названия полей БД будут такими:
- «Менеджер»;
- «Дата продажи»;
- «Марка, модель»;
- «Цвет»;
- «Год выпуска»;
- «Объём двигателя, л»;
- «Цена, руб.».
Введём названия полей в качестве заголовков столбцов и отформатируем их так, чтобы они визуально отличались от дальнейших записей.
Скриншот: Excel / Skillbox Media
Создаём записи базы данных
В нашем примере запись базы данных — одна продажа. Перенесём в таблицу всю имеющуюся информацию о продажах.
При заполнении ячеек с записями важно придерживаться одного стиля написания. Например, Ф. И. О. менеджеров во всех строках вводить в виде «Иванов И. И.». Если где-то написать «Иван Иванов», то дальше в работе с БД будут возникать ошибки.
Скриншот: Excel / Skillbox Media
На этом же этапе важно проконтролировать, подходит ли формат ячеек данным в них. По умолчанию все ячейки получают общий формат. Чтобы в дальнейшем базой данных было удобнее пользоваться, можно изменить формат там, где это нужно.
В нашем примере данные в столбцах A, C и D должны быть в текстовом формате. Данные столбца B должны быть в формате даты — его Excel определил и присвоил автоматически. Данные столбцов E, F — в числовом формате, столбца G — в финансовом.
Чтобы изменить формат ячейки, выделим нужный столбец, кликнем правой кнопкой мыши и выберем «Формат ячеек».
Скриншот: Excel / Skillbox Media
В появившемся меню выберем нужный формат и настроим его. В нашем примере для ячейки «Цена, руб.» выберем финансовый формат, уберём десятичные знаки (знаки после запятой) и выключим отображение символа ₽.
Скриншот: Excel / Skillbox Media
Также изменить формат можно на панели вкладки «Главная».
Скриншот: Excel / Skillbox Media
Присваиваем базе данных имя
Для этого выделим все поля и записи базы данных, включая шапку. Нажмём правой кнопкой мыши и выберем «Имя диапазона».
Скриншот: Excel / Skillbox Media
В появившемся окне вводим имя базы данных без пробелов.
Скриншот: Excel / Skillbox Media
Готово — мы внесли в базу данных информацию о продажах и отформатировали её. В следующем разделе разберёмся, как с ней работать.
Скриншот: Excel / Skillbox Media
Сейчас в созданной базе данных все записи расположены хаотично — не упорядочены ни по датам, ни по фамилиям менеджеров. Разберёмся, как привести БД в более удобный для работы вид. Все необходимые для этого функции расположены на вкладке «Данные».
Скриншот: Excel / Skillbox Media
Для начала добавим фильтры. Это инструмент, с помощью которого из большого объёма информации выбирают и показывают только нужную в данный момент.
Подробнее о фильтрах в Excel говорили в этой статье Skillbox Media.
Выберем любую ячейку из базы данных и на вкладке «Данные» нажмём кнопку «Фильтры».
Скриншот: Excel / Skillbox Media
В каждой ячейке шапки таблицы появились кнопки со стрелками.
Предположим, нужно показать только сделки менеджера Тригубова М. — нажмём на стрелку поля «Менеджер» и оставим галочку только напротив него. Затем нажмём «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — в базе отражены данные о продажах только одного менеджера. На кнопке со стрелкой появился дополнительный значок. Он означает, что в этом столбце настроена фильтрация. Чтобы её снять, нужно нажать на этот дополнительный значок и выбрать «Очистить фильтр».
Скриншот: Excel / Skillbox Media
Записи БД можно фильтровать по нескольким параметрам одновременно. Для примера покажем среди продаж Тригубова М. только автомобили дешевле 2 млн рублей.
Для этого в уже отфильтрованной таблице откроем меню фильтра для столбца «Цена, руб.» и нажмём на параметр «Выберите». В появившемся меню выберем параметр «Меньше».
Скриншот: Excel / Skillbox Media
Затем в появившемся окне дополним условие фильтрации — в нашем случае «Меньше 2000000» — и нажмём «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — фильтрация сработала по двум параметрам. Теперь БД показывает только те проданные менеджером авто, цена которых ниже 2 млн рублей.
Скриншот: Excel / Skillbox Media
Кроме этого, в Excel можно установить расширенный фильтр. Он позволяет фильтровать БД по сложным критериям сразу в нескольких столбцах. Подробно о том, как настроить расширенный фильтр, говорили в статье.
Сортировка — инструмент, с помощью которого данные в БД организовывают в необходимом порядке. Их можно сортировать по алфавиту, по возрастанию и убыванию чисел, по дате.
Для примера отсортируем сделки выбранного менеджера в хронологическом порядке — по датам. Для этого выделим любую ячейку в поле «Дата продажи» и нажмём кнопку «Сортировка».
Скриншот: Excel / Skillbox Media
В появившемся окне выберем параметр сортировки «От старых к новым» и нажмём «ОК».
Скриншот: Excel / Skillbox Media
Готово — теперь все сделки менеджера даны в хронологическом порядке.
Скриншот: Excel / Skillbox Media
То же самое можно сделать другим способом — выбрать любую ячейку столбца, который нужно отсортировать, и нажать на одну из двух кнопок рядом с кнопкой «Сортировка»: «Сортировка от старых к новым» или «Сортировка от новых к старым». В этом случае данные отсортируются без вызова дополнительных окон.
Скриншот: Excel / Skillbox Media
Кроме стандартной сортировки в Excel, можно настроить сортировку по критериям, выбранным пользователем. Эта функция полезна, когда нужные критерии не предусмотрены стандартными настройками. Например, если требуется отсортировать данные по должностям сотрудников или по названиям отделов.
Подробнее о пользовательской сортировке в Excel говорили в этой статье Skillbox Media.
В процессе работы базы данных могут разрастись до миллиона строк — найти нужную информацию станет сложнее. Фильтрация и сортировка не всегда упрощают задачу. В этом случае для быстрого поиска нужной ячейки — текста или цифры — можно воспользоваться функцией поиска.
Предположим, нужно найти в БД автомобиль стоимостью 14 млн рублей. Перейдём на вкладку «Главная» и нажмём на кнопку «Найти и выделить». Также быстрый поиск можно задавать с любой вкладки Excel — через значок лупы в правом верхнем углу экрана.
Скриншот: Excel / Skillbox Media
В появившемся окне введём значение, которое нужно найти, — 14000000 — и нажмём «Найти далее».
Скриншот: Excel / Skillbox Media
Готово — Excel нашёл ячейку с заданным значением и выделил её.
Скриншот: Excel / Skillbox Media
- В этой статье Skillbox Media собрали в одном месте 15 статей и видео об инструментах Excel, которые ускорят и упростят работу с электронными таблицами.
- Также в Skillbox есть курс «Excel + Google Таблицы с нуля до PRO». Он подойдёт как новичкам, которые хотят научиться работать в Excel с нуля, так и уверенным пользователям, которые хотят улучшить свои навыки. На курсе учат быстро делать сложные расчёты, визуализировать данные, строить прогнозы, работать с внешними источниками данных, создавать макросы и скрипты.
- Кроме того, Skillbox даёт бесплатный доступ к записи онлайн-интенсива «Экспресс-курс по Excel: осваиваем таблицы с нуля за 3 дня». Он подходит для начинающих пользователей. На нём можно научиться создавать и оформлять листы, вводить данные, использовать формулы и функции для базовых вычислений, настраивать пользовательские форматы и создавать формулы с абсолютными и относительными ссылками.
Другие материалы Skillbox Media по Excel
- Как сделать сортировку в Excel: детальная инструкция со скриншотами
- Как установить фильтр и расширенный фильтр в Excel: детальные инструкции со скриншотами
- Как сделать ВПР в Excel: пошаговая инструкция со скриншотами
- Основы Excel: работаем с выпадающим списком. Пошаговая инструкция со скриншотами
- Основы Excel: как использовать функцию ЕСЛИ
- Как сделать сводные таблицы в Excel: пошаговая инструкция со скриншотами
Благодаря формам, а также многочисленным элементам управления и объектам, которые можно в них добавить, значительно упрощается ввод данных в листы и улучшается их внешний вид. Вы также можете делать это самостоятельно, и вам почти или совсем не потребуется код Microsoft Visual Basic для приложений (VBA).
Форма листа и шаблон Excel — это не одно и то же. Шаблон — это предварительно отформатированный файл, который служит отправной точкой для создания книги с требуемым оформлением. Форма содержит элементы управления, такие как поля и раскрывающиеся списки, упрощающие ввод и изменение данных для использующих ваш лист. Дополнительные информацию о шаблонах, которые можно скачать, см. в Excel шаблонов.
Общие сведения о формах
Форма (печатная или веб-версия) — это документ со стандартной структурой и форматированием, который упрощает сбор, у упорядочение и редактирование сведений.
-
Печатаемая форма содержит инструкции, форматирование, наклейки и пустые пробелы для ввода и ввода данных. Для создания печатных Excel и Excel шаблонов.
-
Веб-формы содержат те же функции, что и печатные формы. Кроме того, веб-формы содержат элементы управления. Элементы управления — это объекты, которые отображают данные или упрощают ввод или изменение данных, выполнение действия или выбор данных. Как правило, элементы управления упрощают работу с формой. Примерами часто используемых элементов управления являются списки, переключатели и кнопки. Элементы управления также могут запускать назначенные им макросы и реагировать на события, например щелчки мышью, путем выполнения кода Visual Basic для приложений (VBA).
Создавать печатные Excel веб-формы можно несколькими способами.
Типы форм Excel
В Excel можно создавать формы нескольких типов: формы данных, листы с элементами управления формы и ActiveX, а также пользовательские формы VBA. Каждый из этих типов формы можно использовать по отдельности или сочетать с другими типами для создания нужного решения.
Форма данных
форма данных предоставляет удобный способ ввода или отображения одной строки данных из диапазона или таблицы, не требующий применения горизонтальной прокрутки. Использовать форму данных может быть проще, чем перемещаться между столбцами, которых слишком много для одновременного отображения на экране. Форму данных можно применять тогда, когда достаточно простой формы с текстовыми полями, в качестве подписей которых используются заголовки столбцов, и когда не требуются сложные или пользовательские возможности, например списки и счетчики.
Excel может автоматически создать встроенную форму данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных можно вводить новые строки, находить строки путем навигации или (на основе содержимого ячейки) обновлять строки и удалять их. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.
Лист с формой и элементами ActiveX
Этот тип формы позволяет вводить и просматривать данные в сетке. Кроме того, на Excel уже встроены некоторые функции, похожие на элементы управления, такие как приметки и проверка данных. Ячейки напоминают текстовые поля, которые можно вводить и форматированием различными способами. Ячейки часто используются в качестве подписей, и благодаря регулировке высоты и ширины ячеек, а также объединению ячеек можно настроить поведение таблицы как простую форму для ввода данных. Другие функции управления, такие как приметки к ячейкам, гиперссылки, фоновые изображения, проверка данных, условное форматирование, внедренные диаграммы и автофайл, могут привести к работе с таблицами как к расширенным формам.
Для большей гибкости вы можете добавлять элементы управления и другие объекты-рисунки полотно на полотно, а также объединять и координировать их с ячейками. Например, с помощью списка можно упростить выбор элементов в списке. Кроме того, можно упростить ввод номера с помощью счетчика.
Элементы управления и объекты хранятся на полотне, и поэтому их можно отображать и просматривать одновременно со связанным текстом, не зависящим от границ строк и столбцов, без изменения макета сетки или таблицы данных на листе. В большинстве случаев многие из этих элементов управления можно также связать с ячейками на листе, а для их нормальной работы не требуется создавать код VBA. Можно задать свойства, определяющие, является ли элемент управления свободно перемещаемым или перемещается и изменяет размеры вместе с ячейкой. Например, может потребоваться, чтобы флажок перемещался вместе со связанной ячейкой при сортировке диапазона. С другой стороны, если нужно, чтобы список всегда отображался в одном и том же месте, нежелательно, чтобы он перемещался вместе с ячейкой.
В Excel поддерживаются два типа элементов управления: элементы управления форм и элементы ActiveX. Кроме этих наборов элементов управления, вы также можете добавлять объекты из средств рисования, такие как автофигуры, объект WordArt, графические элементы SmartArt или текстовые поля.
В следующих разделах более подробно описываются элементы управления и средства рисования, а также работа с ними.
Элементы управления формы
Элементы управления формы появились в Excel раньше всего и поддерживаются в предыдущих выпусках Excel (начиная с версии 5.0). Их также можно использовать на листах макросов XLM.
Элементы управления формы используются, если вы хотите легко ссылаться на данные ячеок и взаимодействовать с ними, не используя код VBA, а также добавлять их на листы диаграмм. Например, после добавления элемента управления «список» на лист и связывания его с ячейкой можно вернуть числовые значения для текущего положения выбранного элемента управления. Затем можно использовать это число в сочетании с функцией ИНДЕКС для выбора различных элементов в списке.
С помощью элементов управления формы можно также выполнять макросы. Можно назначить элементу управления существующий макрос либо создать или записать новый. Когда пользователь формы щелкает элемент управления, запускается макрос.
Однако эти элементы управления невозможно добавить в пользовательские формы, использовать для управления событиями или изменить для запуска веб-сценариев на веб-страницах.
Обзор элементов управления формы
Название кнопки |
Пример |
Описание |
|
---|---|---|---|
|
Надпись |
|
Указывает назначение ячейки или текстового поля либо содержит описание (заголовки, подписи, рисунки) или краткие инструкции. |
|
Значок кнопки |
|
Группирует связанные элементы управления в виде прямоугольника с необязательной подписью. Обычно группируются переключатели, флажки или тесно связанные данные. |
|
Изображение кнопки |
|
Запуск макроса, который выполняет действие при щелчке пользователем. Кнопка также называется push-кнопкой. |
|
Флажок |
|
Включает или отключает значение, что соответствует выбору противоположных действий. На листе или в группе можно установить несколько флажков. Флажок может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Переключатель |
|
Позволяет выбрать одно из ограниченного набора взаимоисключающих значений. Переключатели обычно находятся в группе или рамке. Переключатель может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Список |
|
Выводит список из одного или нескольких текстовых элементов, которые может выбрать пользователь. Список можно применять для представления большого числа вариантов, количество и содержимое которых может быть различным. Существует три типа списков.
|
|
Поле со списком |
|
Представляет собой сочетание текстового поля и раскрывающегося списка. Поле со списком компактнее обычного списка, однако чтобы отобразить список элементов, пользователь должен щелкнуть стрелку вниз. Поле со списком следует использовать, когда требуется обеспечить возможность ввода элементов в список и выбора из него одного элемента. В этом элементе управления отображается текущее значение независимо от того, каким образом оно было введено. |
|
Полоса прокрутки |
|
Используется для прокрутки диапазона значений с помощью кнопок со стрелками или путем перетаскивания ползунка полосы прокрутки. Можно перемещаться по странице значений (с заранее заданным интервалом), щелкая область между ползунком и одной из кнопок со стрелками для прокрутки. Как правило, пользователь также может вводить текст непосредственно в связанную ячейку или текстовое поле. |
|
Счетчик |
|
Позволяет увеличивать и уменьшать значение, например числовое значение, время или дату. Чтобы увеличить значение, щелкните стрелку вверх, чтобы уменьшить — стрелку вниз. Как правило, пользователь также может вводить текст непосредственно в связанную ячейку или текстовое поле. |
Примечание: Следующие элементы управления недоступны в Office Excel 2007 книгах. Эти элементы управления можно использовать только Excel на листах диалогов версии 5.0.
Название кнопки |
---|
|
|
со #x0 — вниз, редактирование |
|
Элементы ActiveX
Элементы ActiveX можно использовать на формах листа (без кода VBA или с ним), а также на пользовательских формах VBA. Мы рекомендуем применять их, если требуются более гибкие возможности, чем у элементов управления формы. Многочисленные свойства элементов ActiveX позволяют настраивать их внешний вид, поведение, шрифты и другие характеристики.
Можно также управлять событиями, которые происходят при взаимодействии с элементом ActiveX. Например, можно выполнять различные действия в зависимости от того, какой элемент выбирается из списка, или отправлять запрос базе данных для заполнения поля со списком элементами при нажатии кнопки. Можно также создавать макросы, которые реагируют на события, связанные с элементами ActiveX. При выборе элемента управления будет выполняться код VBA, обрабатывающий все назначенные ему события.
На компьютере находятся многочисленные элементы ActiveX, установленные приложением Excel и другими программами, такими как Calendar Control 12.0 и проигрыватель Windows Media.
Важно: Не все элементы ActiveX можно использовать непосредственно на листах; некоторые из них можно применять только к пользовательским формам Visual Basic для приложений (VBA). При попытке добавить такие элементы управления на лист в приложении Excel отображается сообщение «Вставка объекта неосуществима».
Тем не менее элементы ActiveX невозможно добавить на листы диаграмм (с помощью пользовательского интерфейса) или на листы макросов XLM. Кроме того, невозможно назначить макрос, который будет запускаться непосредственно из ActiveX так же, как и для управления формы.
Обзор элементов ActiveX
Название кнопки |
Пример |
Описание |
|
---|---|---|---|
|
Флажок |
|
Включает или отключает значение, что соответствует выбору противоположных действий. На листе или в группе можно одновременно установить несколько флажков. Флажок может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Текстовое поле |
|
Позволяет просматривать, ввести или изменить текст или данные, привязанные к ячейке, в прямоугольнике. Текстовое поле также может быть статическим и содержать данные, предназначенные только для чтения. |
|
Кнопка |
|
Запуск макроса, который выполняет действие при щелчке пользователем. Кнопка также называется push-кнопкой. |
|
Переключатель |
|
Позволяет выбрать одно из ограниченного набора взаимоисключающих значений. Переключатели обычно находятся в группе или рамке. Переключатель может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Список |
|
Выводит список из одного или нескольких текстовых элементов, которые может выбрать пользователь. Список можно применять для представления большого числа вариантов, количество и содержимое которых может быть различным. Существует три типа списков.
|
|
Поле со списком |
|
Представляет собой сочетание текстового поля и раскрывающегося списка. Поле со списком компактнее обычного списка, однако чтобы отобразить список элементов, пользователь должен щелкнуть стрелку вниз. Поле со списком следует использовать, когда требуется обеспечить возможность ввода элементов в список и выбора из него одного элемента. В этом элементе управления отображается текущее значение независимо от того, каким образом оно было введено. |
|
Выключатель |
|
Указывает на состояние (да/нет) или режим (вкл./выкл.). При нажатии кнопки она меняет свое состояние на противоположное. |
|
Счетчик |
|
Позволяет увеличивать и уменьшать значение, например числовое значение, время или дату. Чтобы увеличить значение, щелкните стрелку вверх, чтобы уменьшить — стрелку вниз. Как правило, пользователь также может вводить текст в связанную ячейку или текстовое поле. |
|
Полоса прокрутки |
|
Используется для прокрутки диапазона значений с помощью кнопок со стрелками или путем перетаскивания ползунка полосы прокрутки. Можно перемещаться по странице значений (с заранее заданным интервалом), щелкая область между ползунком и одной из кнопок со стрелками для прокрутки. Как правило, пользователь также может вводить текст непосредственно в связанную ячейку или текстовое поле. |
|
Надпись |
|
Указывает назначение ячейки или текстового поля либо содержит описание (заголовки, подписи, рисунки) или краткие инструкции. |
|
Изображение |
|
Выводит изображение, например точечный рисунок, JPEG или GIF. |
Рамка |
|
Группирует связанные элементы управления в виде прямоугольника с необязательной подписью. Обычно группируются переключатели, флажки или тесно связанные данные. Примечание: Элемент ActiveX рамки не доступен в разделе ActiveX элементов управления команды Вставка. Тем не менее его можно добавить из диалогового окна Другие элементы, выбрав пункт Рамка Microsoft Forms 2.0. |
|
|
Другие элементы |
Выводит список доступных на компьютере элементов ActiveX, которые можно добавить в настраиваемую форму (например, элементы Calendar Control 12.0 или проигрывателя Windows Media). В этом диалоговом окне также можно зарегистрировать пользовательский элемент управления. |
Объекты средств рисования
вы также можете включить в форму графические элементы SmartArt, фигуры, wordArt и текстовые поля. Можно изменять размер и цвет таких объектов, поворачивать, отражать и объединять их, чтобы получать еще более сложные фигуры. Текст, который вы вводите непосредственно в фигуру или надпись, становится частью объекта — при повороте или отражении объекта он также меняет свое положение. В отличие от элементов ActiveX, отдельным словам и знакам в объекте можно назначать различные атрибуты, например размер или начертание шрифта. Кроме того, объектам можно назначать макросы или гиперссылки. Можно даже связать текст в фигуре или надписи с ячейкой листа и динамически выводить обновленные значения.
Работа с элементами управления и объектами на листе
После добавления форм и элементов ActiveX на форму листа обычно их требуется настроить и упорядочить для создания привлекательной и понятной формы. При этом часто выполняются перечисленные ниже задачи.
-
Управление отображением линий сетки при работе с элементами управления и отключение либо включение вывода линий сетки на готовой форме листа.
-
Выбор или отмена выбора элементов управления с целью указания свойств или дополнительной настройки.
-
Изменение текста элемента управления, например заголовка или подписи.
-
Группировка, копирование, перемещение и выравнивание элементов управления для упорядочения макета формы листа.
-
Изменение размера и форматирования элементов управления для достижения требуемого внешнего вида.
-
Изменение положения или размера элемента управления относительно ячейки.
-
Защита элементов управления и связанных ячеек в соответствии с собственными потребностями.
-
Включение или отключение печати элементов управления вместе с формой листа.
-
Удаление неиспользуемых элементов управления.
На фоне формы листа можно отобразить или скрыть линии сетки. Например, может потребоваться отключить линии сетки ячеек и затем применить ко всем ячейкам один и тот же цвет либо узор или даже использовать в качестве фона листа рисунок. Чтобы скрыть или отобрать линии сетки, на вкладке Вид в группе Показать или скрыть, скройте или выберите поле Сетка.
Определение типа элемента управления на листе
Поскольку существует три разных типа элементов управления и объектов, которые можно изменять уникальным образом, иногда невозможно точно определить тип элемента управления по его внешнему виду. Чтобы определить тип элемента управления (элемент управления формы или элемент ActiveX), щелкните его правой кнопкой мыши и просмотрите контекстное меню.
-
Если контекстное меню содержит команду Свойства, элемент управления является элементом ActiveX и сейчас используется режим конструктора.
-
Если контекстное меню содержит команду Назначить макрос, это элемент управления формы.
Совет: Чтобы отобразить правильное shortcut menu для группы box Form control, убедитесь, что вы выбрали периметр, а не внутреннюю часть группы.
-
Если контекстное меню содержит команду Изменить текст, это объект-рисунок.
Пользовательские формы VBA
Для максимальной гибкости можно создавать пользовательские формы пользователей, которые обычно включают один или несколько ActiveX элементов управления. Пользовательские формы вызываются из программного кода VBA, который создается в редакторе Visual Basic. Ниже приведены общие указания по созданию пользовательских форм.
-
Вставьте пользовательскую форму в проект VBA книги. Для доступа к проекту VBA нужно сначала отобразить редактор Visual Basic (нажмите ALT+F11), а затем в меню Вставка нажать кнопку Пользовательскаяформа.
-
Создайте процедуру для отображения пользовательской формы.
-
Добавьте элементы ActiveX.
-
Измените свойства элементов ActiveX.
-
Создайте процедуры обработчика событий для элементов ActiveX.
Пользовательские формы также могут использовать дополнительные функции форм. Например, можно программным образом добавить отдельный переключатель для каждой буквы алфавита или флажок для каждого элемента в крупном списке дат и чисел.
Перед созданием пользовательских форм рассмотрите возможность применения встроенных диалоговых окон, доступных в Excel. Они включают функции VBA InputBox и MsgBox, метод Excel InputBox, метод GetOpenFilename, метод GetSaveAsFilename и объект Dialogs объекта Application, который содержит все встроенные диалоговые окна Excel.
Дополнительные сведения можно получить в Центре разработчика Microsoft Office Excel.
К началу страницы