При упоминании баз данных (БД) первым делом, конечно, в голову приходят всякие умные слова типа 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) для поиска и подстановки значений
- Как заменить ВПР функциями ИНДЕКС и ПОИСКПОЗ
- Автоматическое заполнение форм и бланков данными из таблицы
- Создание отчетов с помощью сводных таблиц
Excel для Microsoft 365 для Mac Excel 2021 для Mac Excel 2019 для Mac Excel 2016 для Mac Еще…Меньше
Вы можете создать форму в Excel, добавив в книгу элементы управления содержимым, такие как кнопки, флажки, списки и поля со списками. После этого другие пользователи смогут заполнить эту форму в приложении Excel и при желании распечатать ее.
Шаг 1. Отображение вкладки «Разработчик».
-
В меню Excel выберите элемент Параметры.
-
В разделе Разработка выберите Представление.
-
В разделе Показывать на ленте установите флажок Вкладка «Разработчик».
Шаг 2. Добавление и форматирование элементов управления содержимым
-
На вкладке Разработчик выберите элемент управления, который хотите добавить.
-
На листе щелкните место, куда нужно вставить элемент управления.
-
Чтобы задать свойства элемента управления, щелкните его, удерживая нажатой клавишу CONTROL, и выберите пункт Формат элемента управления.
-
В окне Формат объекта задайте такие свойства элемента управления, как шрифт, выравнивание и цвет.
-
Повторите действия 1–4 для каждого добавляемого элемента управления.
Шаг 3. Защита листа, содержащего форму
-
В меню Сервис наведите указатель на пункт Защита и выберите команду Защитить лист.
-
Выберите нужные параметры защиты.
-
Сохраните и закройте книгу.
Совет: Чтобы продолжить редактирование после защиты формы, в меню Сервис наведите указатель на пункт Защита и выберите команду Снять защиту листа.
Шаг 4. Проверка формы (необязательно)
При необходимости вы можете проверить форму, прежде чем распространять ее.
-
Защитите форму, как указано в описании шага 3.
-
Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.
Нужна дополнительная помощь?
Содержание
- Создание форм для заполнения и печати в Excel
- Шаг 1. Отображение вкладки «Разработчик».
- Шаг 2. Добавление и форматирование элементов управления содержимым
- Шаг 3. Защита листа, содержащего форму
- Шаг 4. Проверка формы (необязательно)
- Microsoft Excel
- Как в VBA Excel сделать автоматизацию заполнения списка заказа в фирме, занимающейся ремонтом
- Таблица 3.1. Значения свойства Name текстовых окон
Создание форм для заполнения и печати в Excel
Вы можете создать форму в Excel, добавив в книгу элементы управления содержимым, такие как кнопки, флажки, списки и поля со списками. После этого другие пользователи смогут заполнить эту форму в приложении Excel и при желании распечатать ее.
Шаг 1. Отображение вкладки «Разработчик».
В меню Excel выберите элемент Параметры.
В разделе Разработка выберите Представление.
В разделе Показывать на ленте установите флажок Вкладка «Разработчик».
Шаг 2. Добавление и форматирование элементов управления содержимым
На вкладке Разработчик выберите элемент управления, который хотите добавить.
На листе щелкните место, куда нужно вставить элемент управления.
Чтобы задать свойства элемента управления, щелкните его, удерживая нажатой клавишу CONTROL, и выберите пункт Формат элемента управления.
В окне Формат объекта задайте такие свойства элемента управления, как шрифт, выравнивание и цвет.
Повторите действия 1–4 для каждого добавляемого элемента управления.
Шаг 3. Защита листа, содержащего форму
В меню Сервис наведите указатель на пункт Защита и выберите команду Защитить лист.
Выберите нужные параметры защиты.
Сохраните и закройте книгу.
Совет: Чтобы продолжить редактирование после защиты формы, в меню Сервис наведите указатель на пункт Защита и выберите команду Снять защиту листа.
Шаг 4. Проверка формы (необязательно)
При необходимости вы можете проверить форму, прежде чем распространять ее.
Защитите форму, как указано в описании шага 3.
Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.
Источник
Microsoft Excel
трюки • приёмы • решения
Как в VBA Excel сделать автоматизацию заполнения списка заказа в фирме, занимающейся ремонтом
Будем считать, что наша условная организация занимается поставками покупателям дорогостоящей строительной техники. Кроме непосредственно поставок, еще один из участков деятельности связан с ее ремонтом. Разрабатываемая далее книга Microsoft Excel будет включать несколько листов данных и несколько листов управления. Исходная ситуация такова: мы располагаем рядом клиентов (заказчиков), которые обращаются к нам по поводу ремонта проданной им техники (ремонт в течение гарантийного срока является вполне нормальным делом).
Технически сам ремонт, как правило, связан с заменой большого количества деталей. С учетом этого, очевидно, что существуют определенные трудности работы персонала, связанные с обеспечением хранения и извлечения необходимой информации по договорам с клиентами, а также с формированием отчетов по клиентам и договорам. В рабочей книге Microsoft Excel мы разработаем единую информационную базу, которая позволит существенно облегчить труд сотрудников офиса. Это облегчение работы будет достигнуто за счет размещения в книге элементов управления и последующего их программирования.
Итак, начнем работу с создания новой рабочей книги Microsoft Excel. Один из ее листов показан на рис. 3.1. В нем размещается справочная информация по нашим заказчикам (клиентам). Каждая строка на листе Клиенты представляет запись об одной из наших организаций-партнеров. Обратим внимание на то, что в дальнейшем в программных процедурах обращение к данному листу будет производиться по имени, поэтому следует присвоить ему имя Клиенты. Столбец Код предназначен для присвоения каждой фирме уникального кода (для того, чтобы однозначно идентифицировать каждую фирму). В целом информация, представленная в строках листа (см. рис. 3.1), достаточно стандартная: название, адрес, телефон, факс и ряд финансовых реквизитов.
Рис. 3.1. Справочная информация о клиентах
В верхней части листа располагается кнопка для ввода очередной записи о новой фирме. Конечно, пользователь, при появлении у нашей организации очередного партнера, может непосредственно внести информацию о нем в очередную свободную строку. Однако для удобства, с одной стороны, и контроля возможных технических ошибок, с другой, мы разработаем более удобную технологию.
К кнопке ввода нового клиента мы еще вернемся, а пока разберем следующий шаг, связанный с созданием формы ввода, которая приведена на рис. 3.2. От пользователя требуется внести данные в необходимые поля и щелкнуть на кнопке Внести для фиксации введенной информации на листе Клиенты. Это приведет к тому, что в очередную свободную строку листа будут внесены сведения по новой фирме. При этом процедура обработки щелчка на кнопке Внести предварительно проверит, встречался ли уже такой код у фирм. Если да, то ввод будет отменен. Также ввод будет отменен, если пользователь оставит поле пустым. Кроме того, процедура посмотрит: не является ли данная запись дублирующей (если уже имеется строка, включающая данное название фирмы, а также указанный адрес). И в этом случае ввод информации на лист Клиенты будет отменен.
Рис. 3.2. Форма ввода информации о клиентах
Таким образом, наша ближайшая цель — создать форму ввода (рис. 3.2) и расположить на ней необходимые элементы управления. С формами мы еще не сталкивались, поэтому рассмотрим процесс их создания более подробно. Для создания пользовательской формы необходимо перейти в окно редактора Visual Basic. Здесь требуется воспользоваться разделом UserForm в меню Insert (рис. 3.3). В результате на экране появится новая форма, которая фактически представляет собой контейнер для размещения на ней необходимых элементов управления.
Рис. 3.3. Пользовательская форма в среде Microsoft Visual Basic
У формы, как и у любого элемента управления, есть свойства. Для того чтобы открыть окно свойств, следует воспользоваться разделом Properties Window из меню View. Изменим значение Name на Client, а также значение свойства Caption — Форма для ввода нового клиента. В результате в заголовке формы будет отражен новый текст. Что касается свойства Name, то оно нам понадобится при работе с формой (при активизации формы).
Далее расположим на форме необходимые элементы управления. Для этого сначала необходимо отобразить на экране панель инструментов (View ► Toolbox). В соответствии с рис. 3.2 на форме нам следует разместить 7 элементов управления типа Label (надпись) и 7 элементов TextBox (текстовое окно). При этом значения свойства Name для надписей принципиального значения не имеют, так как программно мы обращаться к ним не будем. Для этих элементов выберите рассматриваемые значения произвольно (главное, чтобы не было повторяющихся имен — иначе среда Microsoft Visual Basic обратит на это внимание). Аналогичное свойство для текстовых окоп лам потребуется в программных процедурах, поэтому в табл. 3 приведены значения свойства Name текстовых окон, которые следует установить.
Таблица 3.1. Значения свойства Name текстовых окон
Подпись | Name |
---|---|
Код | Cod |
Название фирмы | Firma |
Адрес | Adress |
Телефон | Tel |
Факс | Fax |
ИНН | Inn |
КПП | Kpp |
От пользователя требуется внести информацию в текстовые окна, расположенные на форме, после чего щелкнуть на кнопке Внести. Это приводит к выполнению процедуры, которая должна предварительно проверить корректность вводимых данных. Если на листе запись с указанным кодом фирмы уже существует, то процедура обратит на это внимание. Также процедура обратит внимание, если на листе уже присутствует фирма с аналогичным названием и с тем же указанным адресом. Текст данной процедуры приведен в листинге 3.1.
‘ Листинг 3.1. Обработка щелчка на кнопке Внести на форме Private Sub CommandButton1_Click() If Cod.Text = «» Then MsgBox («Поле КОД необходимо заполнить») Exit Sub End If Nom = 0 While Worksheets(«Клиенты»).Cells(Nom + 2, 2).Value <> «» Nom = Nom + 1 Wend For i = 1 To Nom If CStr(Worksheets(«Клиенты»).Cells(i + 1, 2).Value = _ CStr(Firma.Text) And _ CStr(Worksheets(«Клиенты»).Cells(i + 1, 3).Value) = _ CStr(Adress.Text)) Then MsgBox («Такой код фирмы уже встречался») Exit Sub End If Next Worksheets(«Клиенты»).Cells(i + 1, 1).Value = Cod.Text Worksheets(«Клиенты»).Cells(i + 1, 2).Value = Firma.Text Worksheets(«Клиенты»).Cells(i + 1, 3).Value = Adress.Text Worksheets(«Клиенты»).Cells(i + 1, 4).Value = Tel.Text Worksheets(«Клиенты»).Cells(i + 1, 5).Value = Fax.Text Worksheets(«Клиенты»).Cells(i + 1, 6).Value = Inn.Text Worksheets(«Клиенты»).Cells(i + 1, 7).Value = Kpp.Text MsgBox («Информация внесена») Client.Hide End Sub
Новый момент связал с предпоследней строкой текста в листинге 3.1. Здесь для формы Client применяется метод Hide, который приводит к закрытию этой формы. Разумеется, ее необходимо сначала отобразить, и об этом мы еще не упоминали. В листинге 3.2 приведена процедура, которая выполняется по щелчку на кнопке Ввести нового клиента (см. рис. 3.1). Здесь для отображения на экране формы Client используется метод Show.
‘ Листинг 3.2. Обработка щелчка на кнопке Ввести нового клиента Private Sub CommandButton1_Click() Client.Show End Sub
На рис. 3.4 приведен результат заполнения формы данными об очередной фирме. Теперь щелчком на кнопке Внести это данные переносятся на текущий рабочий лист (в очередную свободную строку).
Рис. 3.4. Внесение информации о новом клиенте
Перейдем к разработке еще двух листов. Один из них под названием Номенклатура показан на рис. 3.5. В каждой строке листа располагается название конкретной запасной части. Значение в столбце Номер запчасти позволяет однозначно ее идентифицировать.
Рис. 3.5. Информация о номенклатуре
Лист Номенклатура является справочным и не содержит элементов управления. Технически пользователь просто вручную заполняет данный прайс-лист. Еще один лист, который также не содержит элементов управления, показан на рис. 3.6. Здесь содержится информация о заказах — названиях и их составе. Столбец А предназначен для уникального кода каждого заказа. Далее располагаются поля для отображения даты заказа и кода фирмы (по коду фирмы легко определить необходимые реквизиты организации).
Рис. 3.6. Лист для хранения информации о заказах
Начиная с пятого столбца размещается информация о запасных частях, которые входят в заказ. Структура этой информации выглядит следующим образом: в пятом столбце код запчасти, далее в шестом количество таких запчастей в заказе, затем в седьмом столбце код другой запчасти, и далее их количество. Таким образом, в каждой строке перечисляется все содержимое определенного заказа. Понятно, что вручную заполнять подобную информацию не слишком удобно. Для этого мы создадим специальный лист с необходимыми элементами управления. В результате будет обеспечено удобство для пользователя, а также контроль уникальности кода заказа. Лист, который будет выполнять необходимый «функционал», показан на рис. 3.7. В качестве названия листа выберем Бланк для нового заказа.
Рассмотрим организацию листа Бланк для нового заказа и техническую работу пользователя с ним. Ячейка C1 отводится для номера заказа. Ниже поясняющего текста Заказчик (расположенного в ячейке А1) располагается элемент управления «Поле со списком». В качестве значения свойства Name этого элемента управления выбрано Firma. Ниже поясняющего текста Список запчастей располагается еще один элемент управления «Поле со списком». В качестве значения свойства Name выбрано Spk.
Щелчком на определенной запчасти она включается в заказ, который формируется с 11-й строки на данном листе. Столбцы Номер запчасти, Наименование и Цена заполняются исходя из имеющейся информации на листе Номенклатура. Пользователю следует лишь внести количество единиц указанной детали в перечне запасных частей. Для этого предназначено текстовое окно (Name — Col) с надписью выше — Количество. После этого осталось щелкнуть на кнопке Включить (Name — InputNom), и в очередную свободную строку на данном листе запишется новая позиция заказа.
Рис. 3.7. Лист для формирования заказа
После того как список запасных частей таким образом заполнен и номер заказа указан, осталось щелкнуть на кнопке Включить в список заказов. В качестве значения свойства Name этой кнопки выбрано InputSpk. За счет программной процедуры это приводит к переносу информации о заказе на лист Названия заказов. Таким образом, теперь можно перейти к рассмотрению процедур, которые обеспечивают выполнение описанных действий. Когда пользователь в процессе работы с книгой переходит на лист Бланк для нового заказа, списки заказчиков и запасных частей должны быть заполнены. Проще всего это обеспечить с помощью процедуры, выполняемой при активизации листа, которая представлена в листинге 3.3.
‘ Листинг 3.3. Процедура, выполняемая при активизации листа Private Sub Worksheet_Activate() Firma.Clear N = 0 While Worksheets(«Клиенты»).Cells(N + 2, 1).Value <> «» N = N + 1 Wend For i = 1 To N Firma.AddItem Worksheets(«Клиенты»).Cells(i + 2, 2).Value Next Spk.Clear N = 0 While Worksheets(«Nomen»).Cells(N + 2, 1).Value <> «» N = N + 1 Wend For i = 1 To N Spk.AddItem Worksheets(«Nomen»).Cells(i + 1, 1).Value + _ «» + Worksheets(«Номенклатура»).Cells(i + 1, 2).Value + «» + _ CStr(Worksheets(«Номенклатура»).Cells(i + 1, 3).Value) + «руб.» Next End Sub
Приведенная процедура заполнения полей со списками организаций и запчастей похожа на рассмотренные ранее примеры и не требует комментария. Более интересна следующая процедура (листинг 3.4), которая выполняется при щелчке на кнопке Включить.
‘ Листинг 3.4. Процедура обработки щелчка на кнопке Включить Private Sub InputNom_Click() Nom = Spk.ListIndex N = 0 While Cells(N + 11, 1).Value <> «» N = N + 1 Wend Cells(N + 11, 1) = Worksheets(«Номенклатура»).Cells(Spk.ListIndex + 2, 1) Cells(N + 11, 2) = Worksheets(«Номенклатура»).Cells(Spk.ListIndex + 2, 2) Cells(N + 11, 3) = Worksheets(«Номенклатура»).Cells(Spk.ListIndex + 2, 3) Cells(N + 11, 4) = Col.Text End Sub
Здесь в переменную Nom заносится индекс (номер) элемента, который выделен в элементе управления «Поле со списком», отведенном для запасных частей. Далее подсчитывается число уже заполненных позиций в заказе — они располагаются начиная с 11-й строки. После этого в следующую свободную строку заносится очередная запись. При этом количество единиц указанной позиции заказа извлекается из содержимого текстового окна Col.
Теперь на очереди другая процедура (листинг 3.5), которая переносит информацию с листа Бланк для нового заказа на лист Названия заказов, о котором мы уже говорили. В начале процедуры InputSpk_Click() предварительно проверяется — внесена ли информация в ячейку C1. Далее производится поиск присутствия заказа с указанным на листе номером. В случае положительного ответа на этот вопрос процедура не производит запись, а возвращает пользователя к работе с листом формирования нового заказа. В случае уникальности нового номера заказа процедура последовательно переносит имеющуюся информацию в каталог заказов. Для формирования даты используется стандартная функция VBA Date.
‘ Листинг 3.5. Процедура обработки щелчка на кнопке Включить в список заказов Private Sub InputSpk_Click() ‘ Номер потенциального заказа VerZakaz = CStr(Range(«C1»).Value) If VerZakaz = «» Then MsgBox («Поле кода заказа необходимо заполнить») Exit Sub End If If Firma.ListIndex = -1 Then MsgBox («Необходимо указать фирму») Exit Sub End If ‘ Извлечение информации о коде фирмы CodFirma = Worksheets(«Клиенты»).Cells(Firma.ListIndex + 2, 1).Value ‘ Подсчет числа имеющихся заказов N = 0 While Worksheets(«Названия заказов»).Cells(N + 2, 1).Value <> «» N = N + 1 Wend ‘ Проверка возможного повтора номера заказа For i = 1 To N CodList = Worksheets(«Названия заказов»).Cells(i + 1, 1).Value If CStr(CodList) = VerZakaz Then MsgBox («Такой номер заказа уже встречался») Exit Sub End If Next ‘ Запись информации о данном заказе Worksheets(«Названия заказов»).Cells(N + 2, 1).Value = Range(«C1»).Value ‘ Использование стандартной функции для получения даты Worksheets(«Названия заказов»).Cells(N + 2, 2).Value = Date Worksheets(«Названия заказов»).Cells(N + 2, 3).Value = CodFirma ‘ Вводим переменную для подсчета суммы NDetal = 0 While Cells(NDetal + 11, 2).Value <> «» NDetal = NDetal + 1 Wend ‘ Подсчет числа деталей в заказе SymmaItog = 0 For i = 1 To NDetal Worksheets(«Названия заказов»).Cells(N + 2, 5 + (i — 1) * 2).Value = _ Cells(i + 10, 1).Value Worksheets(«Названия заказов»).Cells(N + 2, 5 + (i — 1) * 2 + 1).Value = _ Cells(i + 10, 4).Value SymmaItog = SymmaItog + CLng(Cells(i + 10, 4).Value) * _ CLng(Cells(i + 10, 3).Value) Next Worksheets(«Названия заказов»).Cells(N + 2, 4).Value = SymmaItog MsgBox («Заказ включен») End Sub
Таким образом, мы обеспечили удобный механизм внесения информации в лист Названия заказов. На рис. 3.8 показан результат ввода двух заказов на запасные части.
Рис. 3.8. Пример формирования заказов
Перейдем к отчетам, и один из них показан на рис. 3.9. На этом листе часть информации статична (заголовок и подписи столбцов), а ряд ячеек заполняется исходя из содержания конкретного заказа, которое зафиксировано на листе Названия заказов.
Рис. 3.9. Отчет о заказе
Нам требуется программно обеспечить заполнение ячеек листа, отводимых для номера заказа, заказчика, а также заполнение адреса, телефона и факса. Табличная часть на рис. 3.9 используется в случае, если число позиций в заказе не превышает трех. В противном случае данная табличная часть не заполняется, а создается другой документ — Приложение (рис. 3.10). Наша задача — обеспечить данные функциональные особенности разрабатываемой книги.
Рис. 3.10. Приложение к отчету о заказе
Для заполнения отчета о заказе (и при необходимости приложения к нему) па листе Названия заказов создадим кнопку Создать отчет (см. рис. 3.8). По нажатию этой кнопки будет открываться форма, где от пользователя требуется выбрать заказ, по которому необходимо сформировать отчет. На рис. 3.11 показана данная форма ввода в окне редактора Visual Basic.
Процедура, вызываемая щелчком на кнопке Создать отчет, представлена в листинге 3.6. Ее назначение — открыть форму, обеспечивающую необходимый интерфейс для формирования отчета (см. рис. 3.11).
‘ Листинг 3.6. Процедура обработки щелчка на кнопке Создать отчет Private Sub CommandButton1_Click() Zakaz.Show End Sub
Рис. 3.11. Форма выбора заказа для отчета
В листинге 3.7 приведена процедура, которая выполняется при активизации формы. Ее назначение заключается в заполнении элемента управления «Поле со списком». При этом сначала подсчитывается количество заказов, уже имеющихся в базе данных. Информация о том, какая фирма его сделала, расположена на листе Клиенты. Поэтому для заполнения поля со списком на рис. 3.11 необходимо обратиться к информации о клиентах.
‘ Листинг 3.7. Процедура, выполняемая при активизации формы Private Sub UserForm_Activate() ‘ Подсчет числа заказов Nom = 0 While Worksheets(«Названия заказов»).Cells(Nom + 2, 1).Value <> «» Nom = Nom + 1 Wend ‘ Подсчет числа фирм Nfir = 0 While Worksheets(«Клиенты»).Cells(Nfir + 2, 1).Value <> «» Nfir = Nfir + 1 Wend ‘ Очистка и последующее заполнение поля со списком Spk.Clear ‘ Перебор числа заказов For i = 1 To Nom ‘ Извлечение кода фирмы NomFirma = Worksheets(«Названия заказов»).Cells(i + 1, 3).Value For j = 1 To Nfir If NomFirma = Worksheets(«Клиенты»).Cells(j + 1, 1).Value Then Firma = Worksheets(«Клиенты»).Cells(j + 1, 2).Value ‘ При нахождении фирмы выход из цикла Exit For End If Next Spk.AddItem CStr(Worksheets(«Названия заказов»).Cells(i + 1, 1).Value) _ + » » + CStr(Worksheets(«Названия заказов»).Cells(i + 1, 2).Value) _ + » » + CStr(Firma) Next End Sub
Теперь пользователь должен выбрать интересующую его фирму (рис. 3.12). Следующая процедура — обработка щелчка на кнопке Заполнить акт и приложение. Учитывая сложность полного программного кода, приведем его сначала для варианта заполнения только листа АКТ (листинг 3.8).
Рис. 3.12. Выбор заказа для отчета
В зависимости от количества позиций заказа процедура позволяет заполнить или только лист АКТ, или параллельно с актом еще и лист Приложение. В листинге 3.8 приведен первоначальный вариант, который приводит к заполнению только листа АКТ (в случае количества заявок не более трех).
Источник
Формы ввода данных в Microsoft Excel
Смотрите также в разных книгах. (а если позиций все обрезано.Суть такая, я запуска макроса не и листов excel?(Form) на ПанелиНажимайте клавишу TAB для то выбираем из соответствующих колонкам модифицировать. Чтобы вы того листа, где пункт в выпадающем действия значки фильтрации заполнения табличной области. с каким именноДля облегчения ввода данныхВ какую сторону накопится 1000? Это
постараюсь попозже выложить хочу нажимать на
Применение инструментов заполнения
вынесена на Лист.и что нужно быстрого доступа. перехода к следующему списка название того,«Наименование товара» смогли сделать это располагаются наши таблицы. списке. исчезли из шапки Она будет создаваться диапазонам ей нужно в таблицу в копать? Опыта нет))) будет очень неудобно) скрины или фото. горячие клавиши, чтобы Изучаю решение. Спасибо дописать в код,
Используйте кнопки полю в форме. который мы выше
Способ 1: встроенный объект для ввода данных Excel
, самостоятельно, давайте разберем, В данном случаеКак видим, выбранная позиция
- таблицы, как это прямо на листе, будет работать, следует Excel можно воспользоватьсяЗаранее огромное спасибо.wild_pigeritik появлялась форма, далееВалера чтобы данные копировалисьНазад
- Закончив ввод данных в создавали. У нас«Количество» из чего данный это тут же отобразилась и требовалось. и представлять собой ввести любое значение специальными формами, которыеwild_pig: И все 1000: Фото в вложение
я начинаю вводить: Огромное спасибо! Я в строго определенный(Find Prev) и строку, нажмите клавишу он называется, код состоит, что«Лист 1» в полеЗатем нам следует создать её диапазон. С в первую строку
- помогут ускорить процесс: Может мы вражины, будут разные. Чтоeritik информацию, она должна уж учебники перечитал,
- лист, а неДалее RETURN , чтобы«DataEntryForm»«Цена» в нем следует.«Наименование товара» саму форму ввода
- помощью данного инструмента табличного массива. заполнения табличного диапазона но маскируемся? с датой делать.: пример во вложении искаться в столбце поисковики изнасиловал. А в тот в(Find Next), чтобы добавить строку в. Но в данноми заменить, а чтоПосле этого переходим к. данных. Она тоже пользователь сам сможетПосле этого выделяем любую информацией. В ЭкселеЦитата
- Hugoeritik (только уникальные само здесь, оказывается, какие котором форма активна легко переключаться от конец списка.
- случае макрос один,«Сумма» менять не нужно. левой нижней областиДалее нам нужно будет будет представлять собой реализовать те возможности, ячейку заготовки таблицы
- имеется встроенный инструмент200?’200px’:»+(this.scrollHeight+5)+’px’);»>В какую сторону копать:: + файл собой), и если отзывчивые люди обитают! в данный момент. одной записи (строки)По завершении добавления строк поэтому просто выбираем. Поэтому, если в
- Итак, первая строка: окна под названием присвоить имена тем своего рода табличный которые считает нужными. и щелкаем на позволяющий производить заполнение
- Копайте в сторону200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub GoEnd()yutrans я выбираю этот РеспектPavel55 к другой. нажмите кнопку его и жмем
- вашем случае таблицаSub DataEntryForm()«Properties» трем ячейкам формы массив, состоящий из По функционалу он панели быстрого доступа подобным методом. Также
- создания своих тем,Cells(Range(«a» & Rows.Count).End(xlUp).Row: Спасибо. Буду изучать вариант, то автоматическиSerge_ASB: Посмотрите пример.
- Примечание:Закрыть на кнопку сдвинута, то нужно
- «DataEntryForm». Тут расположены настройки ввода, куда мы двух столбцов. Наименования практически ни в по значку пользователь может создать и пользования поиском + 1, 1).SelectPaul_GD
- подставляются значение из: Понравилась форма.P.S. У меняИспользуйте кнопки, чтобы добавить последнюю«OK» указать соответствующие номера— это название выделенного листа. В будем вводить данные. строк данного объекта
- чем не будет«Форма…» собственный вариант формы,
- (жесточайше).End Sub: Добрый день! соседних столбцов, ноУ меня идея такое чувство, чтоДобавить новую строку ивнизу окна. столбцов. Если столбцов самого макроса. Вы
- поле Выделяем первую ячейку, будут соответствовать именам уступать встроенному аналогу, который мы ранее которая будет максимальноМатраскинКнопку запуска этогоотличная реализация формы
- только если количество наподобие. В таблице вы удаляете записи(New) или закрыть форму данных.После этого можно переименовать больше, то по можете оставить его«(Name)» где уже установлено
- столбцов основной таблицы. Excel, а кое активировали. адаптирована под его
Способ 2: создание пользовательской формы
: макроса закрепить в ввода данных! большой данного товара один, я ее в из таблицы каким-тоУдалить Для последней строки кнопку, как вы аналогии нужно добавить как есть, аследует заменить кириллическое в нашем случае Исключение составляют столбцы в чем, возможно,Итак, открывается окно указанного потребности, применив дляfoxmeyson верхней закреплённой части потенциал! если не один, целом воплотил. Только странным способом. Например,(Delete), чтобы добавлять не требуется нажимать захотите, просто выделив её строки в можете заменить на наименование ( наименование«№ п/п»
- превосходить его. Единственный инструмента. Как видим, этого макрос. Давайте, я бы использовал листа.при использовании возник то общую сумму вот созданием форм нажав пробел на или удалять записи. клавишу RETURN . её текущее название. код, если меньше любое другое, которое«Лист1»«Картофель»и
- недостаток состоит в данный объект имеет рассмотрим различные варианты access. Его можноwild_pig такой вопрос к поделить на количество никогда в Excel ячейке, если это Начав редактировать данные,Примечания:В нашем случае, например, – то убрать соответствует общим правилам) на название, написанное. Далее переходим в«Сумма» том, что для поля, которые соответствуют использования этих полезных настроить через разного: Вариант с формой форме по кнопке и присвоить это
- не занимался. Посему так, то таким вы можете воспользоваться логично будет дать лишние. создания наименований макросов на латинице. Название поле наименования диапазонов.. Они будут отсутствовать. каждого табличного массива названиям столбцов нашего инструментов заполнения в рода DNS. ИBachata Воронка новых клиентов
- в цену. интересуюсь. образом удалять информацию кнопкойВ Excel строка автоматически ей имяВ строке производится умножение (отсутствие пробелов, использование можно дать любое, Оно расположено в Нумерация первого из придется составлять отдельную табличного массива. При Excel. пользовать одну базу: Спасибо большое, тоесли имеется дваОдно из полейРасскажите (или скажите нельзя! Информация из
Вернуть добавляется при переходе«Добавить» количества товара на только букв латинского которое вам будет левой части окна них будет происходить форму, а не этом первое полеСкачать последнюю версию со многомногими подключениями. что нужно! одинаковых названия для это должна быть где взять) инфо ячеек надо удалять(Restore), чтобы отменить
- к другой записи. Переименовываем и кликаем его цену: алфавита и т.д.). удобнее, главное, чтобы
- Excel на том при помощи макроса, применять один и уже заполнено значением, ExcelА можно установитьСкажите, а можно осуществления поиска в дата (календарь для по поводу - так: любые изменения. или закрытии формы мышкой по любой.Cells(nextRow, 5).Value = Producty.Range(«Volum»).Value Изменение наименования ни в нем были же уровне, что а расчет значений тот же шаблон, так как мыФорма заполнения представляет собой бд помощнее, например
добавить в форму окне Результаты отображаются выбора). как рисовать саму1) Выделяете мышкойНажмите кнопку данных.
- свободной ячейке листа. * Producty.Range(«Price»).Value на что не исключительно символы латиницы и строка формул. во втором будет как это возможно его ввели вручную объект с полями, SQL server и поле для даты? оба. но приИ еще в форму и как
- область ячеек наКритерииВ ячейках, которые содержатИтак, наша форма полностьюРезультат, как видим из повлияет. или цифры и Вводим туда произвольное производиться путем применения при использовании стандартного на листе. наименования которых соответствуют
- написать приложение работающие Т.е. чтобы ее выборе в окне поле количество значение прикручивать на элементы листе(Criteria), чтобы отобразить формулу, отображается ее
- готова. Проверим, как синтаксиса записи, будетВезде, где встречается в отсутствовали другие знаки
- название. Это может формулы умножения количества варианта.Вводим значения, которые считаем названиям колонок столбцов с этой базой. можно было вводить Результаты второго варианта по уполчанию 1.
- управления «источник информации»2) Нажимаете кнопку только те записи, результат. Изменить формулу она работает. Вводим выводиться в пятый коде слово или пробелы. Именно быть любое наименование на цену.Как и в предыдущем нужными и в заполняемой таблицы. ВStormy
- вручную? остальные поля (которыеВ общем объяснила и ячейку-получатель. Delete на клавиатуре которые удовлетворяют определенным в форме данных в её поля столбец листа Excel.«Producty»
- с этим именем на латинице, вВторой столбец объекта ввода способе, прежде всего, остальные поля, после эти поля нужно: Книги разные -Не знаю, реализуемо содержат отличную от как смогла, лучшеБуду рад комментариям. (либо меню Правка критериям. невозможно. необходимые значения иВ этом выражении выполняетсявы должны его будет работать макрос. котором нет пробелов,
- данных оставим пока нужно составить шапку чего жмем на вводить данные и но всегда одни
- ли это , первого варианта информацию) посмотрите на таблицуЮрий М — Очистить)Введите критерии и кликнитеИзменение данных в строке жмем на кнопку автоматическая нумерация строк: заменить на то Пусть в нашем но лучше все-таки что пустым. Непосредственно будущей таблицы на кнопку они тут же и те же но было бы не меняются, т.е. и сразу все: Список доступной дляPetr по кнопкеЩелкните любую ячейку в«Добавить»If nextRow > наименование, которое ранее случае данным названием использовать названия близкие в него позже листе. Она будет«Добавить» будут добавляться новой или меняются по удобно, если бы
- отображаются поля, содержащиеся поймете. скачивания литературы и: возможно это произошлоПравка диапазоне или таблице
- . 2 Then присвоили для своего будет
- к решаемым данным будут вводиться значения состоять из пяти. строкой в табличный прихоти пользователя? Если в поле даты в строке по__новая таблица учета.xlsx ссылки на ресурсы случайно. обычно я(Form).
- с данными, которыеКак видим, значения перемещеныRange(«A2»).Select листа в поле«Producty» элементом задачам. Поэтому для заполнения строк ячеек с именами:После этого, как видим, диапазон. Форма может одинаковые , то (которое по-прежнему остается первому вхождению.
- Большое СПАСИБО! можно найти в удаляю информацию изТеперь, нажимая требуется изменить. в таблицу, строкеSelection.AutoFill Destination:=Range(«A2:A» &«(Name)», хотя вы можете первую ячейку, в
- основного табличного диапазона.«№ п/п» в первую строку выступать как в можно сделать форму редактируемым) по дефолтувозможно ли сделатьeritik «Копилке». Загляните в ячеек как ВыНазадВ меню автоматически присвоен номер, nextRow)области
- выбрать и любое которой содержится названиеПосле этого создаем ещё, таблицы были автоматически виде отдельного встроенного ввода, а базу стояло значение (т.е. так, что бы: Правила — там и написали.
- (Find Prev) иДанные сумма посчитана, поляRange(«A2:A» & nextRow).Select«Properties» другое, соответствующее условиям, товара, назовем одну небольшую таблицу.«Наименование товара» перенесены введенные значения, инструмента Excel, так на Excel. Делаем дата) предыдущей ячейки. и поля отображались
- _Adelaida_ всё есть.и еще один,Далеевыберите команду формы очищены.End Ifредактора макросов. Естественно, которые были описаны«Name» Она будет состоять, а в форме и располагаться непосредственно подключение через стандартный Например, в день соответсвенно от выбранного, никто полностью всюdenisbuslov надеюсь последний в(Find Next), выФормаПовторно заполняем форму иВсе значения это нужно делать выше.. Пишем данное наименование из одного столбца«Количество» произошел переход к на листе в импорт данных MS
нужно ввести 10-20 варианта? работу за вас: Нужно создать форму этом топике, вопрос:) будете видеть только. жмем на кнопку«A2» только в томВ поле в поле и и в ней, следующему блоку полей, виде его диапазона,
Query. Ну или наименований блюд. Тыспасибо заранее! делать не будет. с помощью которойпомогите добавить третью данные, удовлетворяющие этимНажмите кнопку«Добавить»
- означают адрес первой случае, если вы«Name» жмем на клавишу разместится список товаров,«Цена» который соответствуют второй если она создана что-то посложнее, но вместе с первымyutrans это целый проект. данные вносились бы кнопочку к «да
- критериям. В нашемСоздать. ячейки, где будет
назвали лист по-другому.
тоже можно заменитьEnter
которые мы будем,
строке табличного массива.
самим пользователем. уже на Аccess продуктом вводишь сегодняшнюю
: Удалите дубликаты строк.если есть конкретные
в бланк в
- заменить" и
примере – это
.Как видим, и вторая
производиться нумерация, аТеперь рассмотрим такую строку:
название на болеена клавиатуре.
выводить во вторую«Сумма»
Заполняем окно инструмента темиТеперь давайте рассмотрим, как
или так как
дату, а дальше, (создайте базу данных
вопросы: по организации
строго указанные ячейки.
"нет - добавить"
запись 13.
В форме данных найдите строка также добавлена координаты «nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, удобное. Но этоТочно таким же образом колонку основной таблицы.. значениями, которые хотим пользоваться этими двумя Матраскин предложил. при нажатии на без дубликатов) поиска, вывода/вывода данных Ячейки выделены красным еще одну «отмена»Примечание: строку, которую требуется
в табличный массив.
A»
0).Row не обязательно. При присваиваем ячейке, в Для наглядности ячейкуДалее нужно из нашего видеть во второй видами инструментов.Ирина кнопку «добавить» этаPaul_GD — то задавайте. шрифтом. Заранее спасибо!спасибо Вам заДля редактирования критериев изменить, с помощью
Это означает, что— адрес всегоЦифра этом допускается использование которую будем вводить с заголовком данного табличного массива сделать строке табличной области,Прежде всего, давайте узнаем,: Здравствуйте, подскажите пожалуйста: дата уже как: по факту ониесли нужен весьdenisbuslov помощь! нажмите кнопку
кнопок
инструмент работает. столбца с нумерацией.
«2» пробелов, кириллицы и количество товара, имя перечня ( так называемую «умную» и снова щелкаем как применять встроенную можно ли в бы автозаполнена. не являются дубликатами, проект целиком пишите: Извините вот иPavel55КритерииНазадЧитайте также: Проверьте, где именнов данной строчке любых других знаков.«Volum»
«Список товаров»
таблицу, с возможностью по кнопке форму для ввода
excel 2010 создатьwild_pig поскольку в след на почту del файл.: Посмотрите пример(Criteria) еще раз.иКак создать макрос будет выводиться нумерация означает второй столбец В отличие от.) можно залить цветом. автоматического добавления строчек
«Добавить»
данных Excel.
форму для ввода: столбцах будут иные обсудимdenisbuslovPetr
Чтобы закрыть форму,
Найти далее
в Excel в вашей таблице
листа. Именно в предыдущего параметра, который
А ячейке с ценойЗатем выделяем первую пустую при заполнении соседних.Нужно отметить, что по данных в форматированнуюЦитата данные.yutrans: Кто согласиться помочь: Pavel55, еще раз кликните поили полосы прокрутки.
Как создать кнопку и измените данные этом столбце находится задает наименование листа – ячейку объекта ввода диапазонов или ячеекКак видим, значения второй умолчанию значок, который таблицу. Заранее спасибоBachata, 31.01.2014 вНапример,: http://moonexcel.com.ua/%D1%83%D1%80…8B-userform_ru по цене сойдемся! спасибо!ЗакрытьИзмените данные в строке. в Excel координаты в коде, колонка для программы, данный«Price» значений. Переходим во данными. Для этого строчки тоже были её запускает, скрыт за ответ. 06:50, в сообщенииООО рога иeritikAnton20002
Kegrus(Close).Совет:
В Экселе существует два если это необходимо.
«Наименование товара» параметр присваивает название. вкладку
выделяем шапку и, добавлены, причем нам
и его нужноZ
№ 8200?'200px':''+(this.scrollHeight+5)+'px');">Скажите, а
копыта / договор:
: denisbuslov,
: Как сделать вУрок подготовлен для Вас Чтобы перейти к следующему способа применения формыВ строке производится очистка. По ней мы листу, видимое пользователюПосле этого точно таким«Данные» находясь во вкладке даже не пришлось активировать. Для этого: Да. Выделить данные можно добавить в 1 (поставка) /_Adelaida_
приветствую готов помочь. форме ввода данных командой сайта office-guru.ru полю формы, нажмите заполнения данными: встроенная диапазона формы ввода
будем считать количество
на панели ярлыков. же образом даем. Щелкаем по значку«Главная» переставлять курсор в переходим во вкладку и нажать знак форму поле для стоимость.руб., вот тогда еще моя почта раскрывающийся список:
Источник: http://www.excel-easy.com/examples/data-form.html клавишу TAB , и пользовательская. Применение данных после того,
рядов. Поэтому, еслиКак видим, после этого название всему диапазону«Проверка данных», жмем на кнопку самой таблице.«Файл» «Форма». Если его даты?ООО рога и небольшая помощь.Удалено. Нарушение п.4 Правил
- Примеру: 20 объектовПеревел: Антон Андронов к предыдущему полю встроенного варианта требует как информация из в вашем случае автоматически изменится и из вышеуказанных трех, который размещен на«Форматировать как таблицу»Таким образом, заполняем табличный, а затем щелкаем еще нет, тоА как узнать, копыта / договорпоиск и вывод ветки РАБОТА/ФРИЛАНС с собственными названиямиАвтор: Антон Андронов — сочетание клавиш
- минимум усилий от неё была перенесена аналогичный столбец имеет наименование ячеек. Прежде всего, ленте в блокев блоке инструментов массив всеми значениями,
- по пункту вынести на ПБД что уже следующий 2 (услуги) / всех найденных значенийприсылайте свою цену. и номерами(чтобы постоянноPetr SHIFT + TAB пользователя. Его всегда в таблицу: другой порядок поЛиста 1 выделим, а потом инструментов«Стили» которые хотим в«Параметры» (панель быстрого доступа)… день? А, если
- стоимость.руб. в listboxRAN не писать навание
: здравствуйте! . можно запустить, добавив.Range(«Diapason»).ClearContents счету, то нужнов области дадим ему наименование
- «Работа с данными». После этого открывается неё ввести..Ирина вы в «следующий»нужно изменить/дополнить поPrivate Sub TextBox1_Change()
- : Ниписал в ЛС. объектов в полях,а возможно лиЗакончив изменение данных, нажмите соответствующий значок на
- Не трудно догадаться, что ввести соответствующее число.«Project» в специальном поле.
- . список доступных вариантовКроме того, при желании,В открывшемся окне параметров: Здравствуйте. Спасибо. Я
день захотите подправить
Договору 2, а If Len(TextBox1) >
китин а выбирать из
в excel сделать клавишу RETURN , панель быстрого доступа. ( Значение, на то, которое Пусть это будетЗапускается окно проверки вводимых стилей. На функционал можно производить навигацию Эксель перемещаемся в знаю это действие. (забыли заполнить) предыдущий? форма зацикливает на 2 Then ListBox1.Clear: списка). форму для ввода чтобы обновить строку.
Пользовательскую форму нужно
lumpics.ru
Упрощение ввода данных с помощью формы данных
«Diapason»«End(xlUp).Offset(1, 0).Row» мы только что имя данных. Кликаем по выбор одного из по ранее введенным раздел Но если данныхBachata Договор 1, хотя itext$ = TextBox1.ValueAnton20002P/S И как данных как в
В Excel будет автоматически создавать самому, но) означает наименование тогов любом случае задали в настройках.«Diapason» полю них никак не
значениям с помощью«Панель быстрого доступа»
много и таблица: Ну, например, предыдущий в окне Результаты If itext$ <>
: Удалено администрацией добавить новый объект access? выбрана следующая строка.
если вы хорошо диапазона, который мы
оставляем без изменений.Затем переходим в центральную
-
.«Тип данных» повлияет, поэтому выбираем кнопок
-
. Большую часть окна огромная, то тогда день закончился так: поиска видно оба «» Then With
-
Anton20002 в список формыну чтобы появлялось
-
Совет: разбираетесь в коде
ранее присвоили полямДалее рассмотрим строку область окна. Именно
-
После последнего действия обязательно, в котором по просто тот вариант,«Назад» занимает обширная область
-
как быть? А31.01.2014 такос 200 варианта ThisWorkbook.Worksheets(«base»).[a:a] Dim icell: Чего это мою данных окошко с определенными Перед нажатием клавиши RETURN VBA, то сможете
для ввода данных.If .Range(«A2»).Value = «»
-
тут нам нужно сохраняем документ, чтобы умолчанию установлен параметр который считаем болееи
-
настроек. В левой работники мои плохо 226yutrans As Range Set
-
ссылку на видео
-
Петр полями для заполнения можно отменить все сделать этот инструмент
-
Если вы дали And .Range(«B2»).Value = будет записать сам названия, которые мы«Любое значение»
-
подходящим.«Далее» её части находятся
-
соображают по частиНа следующий день,: А если выбор icell = .Find(itext$, заблокировали?: Подскажите, а где и затем данные изменения, нажав кнопку
-
максимально гибким и
им другое наименование, «» Then код макроса. Если присвоили, смог воспринимать.Затем открывается небольшое окошкоили вертикальной полосы инструменты, которые могут
-
офиса 2010, они 1 февраля, я осуществлять через комбобокс?
, xlValues, xlPart)Pelena
указывается в настройках помещались в лист.Восстановить подходящим под ваши то в этой«A2»
поле редактора кода
-
макрос, созданный намиИз раскрывшихся вариантов выбираем форматирования таблицы. В прокрутки.
-
быть добавлены на могут работать лишь нажимаю на кнопочкуBachata If Not icell
-
: полей, в какуюесли можно покажите
-
. нужды. строке должно быть— это координаты белого цвета в в дальнейшем. Для позицию нем указан диапазон,
-
При необходимости можно откорректировать панель быстрого доступа, с готовыми ячейками
«добавить», и все: Всем доброго времени Is Nothing ThenAnton20002 ячейку заносить данные? пример пожалуйста
Удаление строкиАвтор: Максим Тютюшев
См. также
вставлено именно оно. первой ячейки, в
указанной области не сохранения переходим во
support.office.com
Форма данных в Excel
«Список» который мы ранее любое значение в а в правой и формулами. Хотелось поля формы, кроме суток! iaddress$ = icell.Address, Вам ещё раноАн13Pavel55Щелкните любую ячейку вФорма данных представляет собой
- Дальнейшая часть кода универсальна
- которой будет выводиться отображается, как в вкладку.
- выделили, то есть, табличном массиве, изменив – уже присутствующие. облечить им работу поля «дата» (вНекоторое время назад ListBox1.Clear Do Set в этой ветке
: Kegrus: Смотрите пример диапазоне или таблице, удобный способ ввода и во всех нумерация строк. нашем случае, то«Файл»Как видим, после этого диапазон шапки. Как его в форме.В поле не разносить все
- нем уже стоит у меня появилась icell = .FindNext(icell) постить. Прочитайте Правила(Как сделать вGuest
- из которых нужно или просмотра одной случаях будет вноситься«B2»
- жмем на функциональнуюи кликаем по окно проверки вводимых правило, в данном Чтобы изменения отобразились«Выбрать команды из» в ручную, а дата предыдущего дня цель — начать ListBox1.AddItem icell.Value Loop
Anton20002 форме ввода данных: Павел, что-то не удалить строку. строки данных в без изменений.— это координаты клавишу пункту
значений несколько изменило поле заполнено все
на листе, после
устанавливаем значение
с помощью формы
office-guru.ru
форма ввода данных
— 31.01.2014), пустые. вести учет потребляемой
While iaddress$ <>: Интересно…Целый день программу раскрывающийся список: срабатывает форма -В меню
диапазон или таблице.После того, как вы первой ячейки, поF7«Сохранить как…»
свою конфигурацию. Появилось верно. Но нам
внесения их в«Команды не на ленте»
данные заносить по Я вручную изменяю пищи для того, icell.Address End If
писал, а ееПримеру: 20 объектов
выдает ошибкуДанные
В форме данных записали код макроса
которой будет производитьсяи оно появится.. дополнительное поле следует установить галочку соответствующий блок инструмента,. Далее из списка столбцам таблицы. запись в поле
чтобы контролировать свой End With Else
даже показать нельзя с собственными названиямиPavel55выберите команду
отображаются все столбцы,
в окно редактора, вывод данных (
Теперь для конкретно нашего
В открывшемся окне сохранения«Источник» около параметра жмем на кнопку
команд, расположенного в
vikttur
даты с 31.01.2014
вес TextBox1.SetFocus End If
Pelena и номерами(чтобы постоянно
: какую?Форма
и поэтому одновременно следует нажать на
«Наименование товара» примера нужно записать в поле. Щелкаем по пиктограмме«Таблица с заголовками»«Добавить»
алфавитном порядке, находим: Тогда, если нет на 01.02.2014, заполняюДля этого был End If End: Это раздел платных не писать наваниеPetr
. можно просмотреть все
значок сохранения в). Если они у в поле следующий«Тип файлов» справа от него. После этого жмем. и выделяем позицию навыков работы с остальные поля и создан экселевский файлик, Sub, заполнение формы
заказов. Здесь решения объектов в полях,: Уважаемый Pavel55!
Нажмите кнопку данные в строке. виде дискеты в вас отличаются, то
код:выбираем значение левой клавишей мыши. на кнопкуКак видим, изменение сразу«Форма…»
формами в VBA делаю запись. И в котором продукты
по найденному значению вообще не выкладываются. а выбирать изнемного изменил ВашСоздать
Это особенно полезно, левой части окна.
введите вместо этихSub DataEntryForm()
«Книга Excel с поддержкойЗатем окно проверки вводимых«OK»
произошло и в. Затем жмем на — только заказывать во всех последующих
записываются в формате:private sub CommandButton1_ClickУточните: Вы выполняли списка). пример под себя.. если в диапазоне
Затем можно его координат свои данные.Dim nextRow As макросов (.xlsm)»
значений сворачивается. Выделяем. табличной области. кнопку работу в платном
записях текущего дняДата
() Application.ScreenUpdating = заказP/S И как
подскажите как сделатьВ форме данных найдите или таблице больше закрывать, щелкнув поПереходим к строке Long. Далее жмем на
курсором с зажатойИтак, наш диапазон отформатирован,Если нам нужно удалить,«Добавить»
разделе. Вряд ли
вручную прописывать дату| False On Errordenisbuslov добавить новый объект чтоб если данные строку, которую требуется
столбцов данных, чем
стандартной кнопке закрытия
Producty.Range(«Name»).Copy
nextRow = Producty.Cells(Producty.Rows.Count,
кнопку
левой клавишей мыши
как «умная» таблица, какую-то строчку, то.
найдется желающий писать не придется
Наименование GoTo ErrorHandler sWhatFind? в список формы из поля 1 удалить, с помощью помещается на экране.
окон в правомВ ней параметр 2).End(xlUp).Offset(1, 0).Row«Сохранить» перечень данных, которые свидетельством чему является через кнопки навигации
После этого нужный нам большую форму задаром(дело в том,| = TextBox1.Value If
Anton20002 данных) уже есть в кнопокПеред созданием формы данных верхнем углу.«Name»
With Producty.
размещены на листе даже изменение визуального или полосу прокрутки инструмент отобразится в и вряд ли что я неКалорийность sWhatFind <> «»
: Да, его заказ.См. файл списке то выводилосьНазад необходимо добавить подписиПосле этого возвращаемся наозначат имя, котороеIf .Range(«A2»).Value =
Затем вам следует активировать
в дополнительной табличной отображения. Как видим, переходим к соответствующему правой части окна. Вы сами ее знаю языков программирования,. Then ‘With ThisWorkbook.Worksheets(1).[c:c]
planetaexcel.ru
Форма для ввода данных в эксель (Excel)
И не понимаюВалера бы предупреждение си вверху каждого столбца лист Excel. Теперь мы присвоили полю «» And .Range(«B2»).Value
работу макросов в области помимо прочего, около
ей блоку полей Жмем на кнопку напишете.
поэтому мне сложноМоя проблема заключаться
Worksheets(«base»).Activate Cells.Find(What:=sWhatFind, After:=ActiveCell, почему нельзя показать: В развитие задачи предложением заменить старыеНайти далее
в диапазоне или нам следует разместить
«Наименование товара» = «» Then
своей версии Excel«Список товаров»
каждого названия заголовка в форме. После«OK»Мотя
сказать, насколько это в том, что SearchOrder:=xlByColumns).Activate ‘ Затем товар лицом Kegrus-а. Надо чтобы или добавить новые
или полосы прокрутки. таблице. В Excel кнопку, которая будетв форме ввода.
nextRow = nextRow и включить вкладку. После этого опять столбцов появились значки
этого щелкаем по.: Уважаемая Ирина! реализуемо
через какое-то время определяем номер строки,Pelena в ComboBox отображались данные.
Нажмите кнопку эти подписи используются активировать созданный макрос.В строках — 1«Разработчик» жмем на пиктограмму фильтрации. Их следует кнопкеТеперь данный инструмент располагаетсяНе изобретайте велосипед!А что насчет позиций в файле в которой находится:
2 столбца: №пп
excelworld.ru
Excel: форма ввода данных в таблицу
ZVIУдалить
для создания полей Для этого переходим.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValuesEnd If
, если вы это справа от поля, отключить. Для этого«Удалить» в окне ExcelВо всех версиях корректировки… пока переписывать становится очень много, слово nRow =
Anton20002 ответа и сам: —. в форме. во вкладку.Cells(nextRow, 3).Value =Producty.Range(«Name»).Copy до сих пор в котором появился выделяем любую ячейкув окошке инструмента. на панели быстрого EXCEL (2003, 2007, записанное меню, вроде и каждый раз ActiveCell.Rows.Row ‘ nColumn, Вы так и ответ. Например:В Excel есть
Внимание:Подписи столбцов становятся«Разработчик» Producty.Range(«Volum»).Value
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues не сделали. Дело адрес выделенного диапазона.
«умной» таблицы иОткрывается диалоговое окно предупреждения, доступа, и мы 2010 — про бы, не приходилось
листать в конец
= ActiveCell.Column ‘
не поняли, за1 заявка встроенная форма для В Excel будет выведен именами полей.. В блоке настроек.Cells(nextRow, 4).Value =
.Cells(nextRow, 3).Value = в том, чтоПроисходит возврат к окошку переходим во вкладку
в котором сообщается, им можем воспользоваться. 2013 не знаю)Wasilich
листа, чтобы ввести Эта строка для
что получили два2 договор редактирования данных, из запрос на подтверждениеДанные, вводимые в
«Элементы управления» Producty.Range(«Price»).Value Producty.Range(«Volum»).Value
обе эти функции проверки вводимых значений.«Данные» что строка будет Он будет присутствовать штатный режим «Форма»: Вот зачем усложнять очередное блюдо ну примера, как определить замечания? У нас3 реализация VBA вызывается так: операции. После подтверждения каждое поле формы,на ленте кликаем.Cells(nextRow, 5).Value =.Cells(nextRow, 4).Value = по умолчанию в Как видим, координаты. Там на ленте удалена. Если вы при открытии любой достаточно «кривой» и
и так сложную очень неудобно!! столбец ячейки ‘ на форуме платные4 снижениеSub ФормаВводаДанных() удаление строки нельзя помещаются в следующую по кнопке Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value Producty.Range(«Price»).Value программе отключены, и выделенного диапазона в в блоке инструментов уверены в своих книги данным экземпляром ограничен 32 полями прогу?Не могли бы И адресуем ячейку: заказы разрешено брать5 увеличениеOn Error Resume отменить. пустую строку.«Вставить»наименования.Cells(nextRow, 5).Value = их активацию нужно нем уже отображены«Сортировка и фильтр» действиях, то жмите
Excel. БД.
Можно же проще. вы подсказать решение On Error Resume только проверенным форумчанам,
6 расторжение NextВсе строки, следующие за
Важно:. Открывается перечень инструментов.
«Volum» Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value
выполнять принудительно в в поле
щелкаем по значку на кнопку
Теперь, чтобы инструмент понял,Установите
Bachata моей проблемы? Как
Next TextBox14 = то есть тем,А в соответствующие
ActiveSheet.ShowDataForm удаленной, перемещаются вверх. С помощью формы данных В группе инструментов
и.Range(«A2»).Formula = «=IF(ISBLANK(B2), окне параметров Excel.«Источник»«Фильтр»«OK» что именно емуБЕСПЛАТНУЮ надстройку: А можно сделать я понимаю, самым Cells(nRow, 15) TextBox15 кто сначала заработал ячейки Excel заносилсяIf Err <>
Ввод ряда чисел, дат невозможно добавлять, изменять«Элементы управления формы»«Price» «»»», COUNTA($B$2:B2))»
После того, как вы
. Кликаем по кнопке.. нужно заполнять, следует
, ссылку на которую так, чтобы в удобным вариантом было = Cells(nRow, 16) себе репутацию в только №пп…
0 Then MsgBox
или других элементов и удалять формулы.выбираем самый первыйозначают названия, которые
If nextRow > сделали это, переходим«OK»Существует ещё один вариант
Как видим, строчка была оформить шапку таблицы на форуме для форме которую приложил бы создание форм? TextBox16 = Cells(nRow, основных БЕСПЛАТНЫХ ветках
Юрий М «Нет данных», vbInformation,Автоматическое заполнение списков в
CyberForum.ru
Простая форма ввода данных (Макросы Sub)
Выполните одно из перечисленных – мы присвоили полям
2 Then во вкладкувнизу окна. отключения фильтра. При извлечена из табличного и записать любое всех любезно предложил
wild_pig к колонкамСпасибо! (Файлик прикладываю) 17) TextBox1.SetFocus GoTo форума.: Вот так. «Форма ввода данных» Excel ниже действий.«Кнопка»«Количество»
Range(«A2»).Select«Разработчик»Теперь справа от выделенной этом не нужно диапазона. После того, значение в ней.один из самых уважаемых с датой (А:А)wild_pig Ends: ErrorHandler: MsgBox
А зачем?ВалераEnd SubФорма данных позволяет добавлять,Добавление данных с помощью.
и
Selection.AutoFill Destination:=Range(«A2:A» &. Кликаем по большому пустой ячейки объекта
даже будет переходить как заполнение и Пусть табличный массив
экспертов форума просто реализовывалась функция: Меньше еды - («Нет такой организации»)_Adelaida_: Ээээ, Юрий. Прикреплен— редактировать и удалять формыЗатем с зажатой левой«Цена» nextRow) значку
ввода данных появилась на другую вкладку, редактирование закончено, можно у нас будет
- ТДАТА? меньше файлик :)
Ends: Else MsgBox: Доброго времени суток!
файл с 2
ZVI записи (строки), аЩелкните любую ячейку в клавишей мыши обводим
в той жеRange(«A2:A» & nextRow).Select
«Visual Basic» пиктограмма в виде оставаясь во вкладке выходить из окна состоять из четырехZVIwild_pigwild_pig («Введите название организации»)
Но форуме в столбцами на листе.Pavel55 также отображать только диапазоне или таблице, курсором область, где форме ввода.End If, который расположен на треугольника. При клике«Главная» инструмента, нажав на столбцов, которые имеют.: Вот: А что надо End If On первый раз, так Никакими ComboBox-ами там
: Посмотрите пример ту информацию, которая к которым нужно хотим разместить кнопкуВ этих же строках,.Range(«Diapason»).ClearContents ленте в блоке на неё открывается. После выделения ячейки
кнопку названияНадстройка:foxmeyson то? Error Resume Next
что извините, если и не пахнетPetr
удовлетворяет определенным критериям. добавить строку.
запуска макроса, который которые мы указалиEnd With инструментов выпадающий список, состоящий табличной области на«Закрыть»«Наименование товара»1. не имеет: Друзья, подскажите, какBachata Worksheets(«данные»).Activate Application.ScreenUpdating = что не так. :): Спасибо за помощь!!! Форма бывает особенноВ меню будет производить перенос выше, цифрыEnd Sub«Код» из названий, которые ленте в блоке.,
ограничения на количество вы это делаете?: Ну, как. Хочу True
Мне нужно быстроЮрий МPetr полезна, когда строки
Данные
данных из формы«2»Но этот код не. подтягиваются из табличного настроекПосле этого для предания«Количество»
полей БД,Просто мне необходимо
сделать форму вводаyutrans заполнять таблицу в
: Я не знал,: Уважаемый Павел! в документе оченьвыберите команду в таблицу., универсальный, то есть,Последнее действие приводит к массива
«Редактирование» табличному массиву более
,
2. позволяет одним самому написать нечто — т.е. чтобы
: eritik,Вы файл приложите? экселе, через гуглпоиск что Вы невозникло еще пара широкие и нужноФорма
После того, как область«3» он в неизменном тому, что запускается«Список товаров»щелкаем по значку наглядного визуального вида«Цена» движением мыши изменить
подобное, только чтобы можно данные былоeritik нашла, что это сможете запустить кнопку
вопросов. избежать постоянной прокрутки. обведена, отпускаем клавишу, виде подходит только редактор макросов VBA.. Произвольные данные в«Сортировка и фильтр» можно произвести форматирование.и размеры формы, форма ввода была вводить вверху страницы,: надо сделать форму из VBE. Вот
excelworld.ru
создание в Excel 2010 формы для ввода данных в форматированную таблицу
как в последнем листа вправо иНажмите кнопку мыши. Затем автоматически«4» для нашего случая. В области указанную ячейку теперь
. В появившемся спискеКроме того, с помощью«Сумма»3. содержит необходимый доступна по сети а не каждыйyutrans
ввода и через Вам с кнопочкой вашем примере сделать, влево.Создать запускается окно назначения, Если вы хотите«Project» внести невозможно, а выбираем позицию макроса и ряда. Вводим данные названия минимум инструментов для и заносила данные раз листать лист, не могу. программирование. Мои знания :-)
чтобы появляющееся окноОткройте файл Excel.. макроса объекту. Если«5» его приспособить под, которая расположена в только можно выбрать«Фильтр» других инструментов существует в произвольный горизонтальный работы по ведению
без открытия документа+ вниз и добавлять
сижу с рабочего
экселя на этомВалера формы не блокировалоВыберите командуВведите данные для новой в вашей книгеозначают номера столбцов свои потребности, то
верхней левой части из представленного списка. возможность создать собственную диапазон листа. БД. данные будут связаны по новой строке компа, на котором заканчиваются.
: Сглупил. Просто кнопка
просмотр остальных книгФорма строки.
применяется несколько макросов, на листе Excel, его следует соответственно
окна, выделяем имя нужную позицию. ВыбираемКак видим, после этого пользовательскую форму для
planetaexcel.ru
Также, чтобы программа поняла,
Ввод данных в Excel через форму
Множество разнообразных компьютерных программ, включая «самую главную программу в мире» — MS Windows, ведут общение с пользователем при помощи выпадающих диалоговых окон. Эти окна представляют собой формы, состоящие из надписей, изображений, полей для.
. ввода данных, флажков, переключателей, списков, кнопок и прочих элементов управления.
Задача формы – выпадающего окна – предоставить пользователю простой, понятный и удобный интерфейс, который обеспечит в режиме диалога возможность эффективно осуществлять ввод данных пользователем в программу и вывод программой результатов для считывания пользователем.
Стандартно при работе со значительными объемами информации вне зависимости от того, какое программное обеспечение используется, поступают следующим образом:
1. Создают таблицы базы данных.
2. Создают формы для ввода данных в таблицы.
3. Создают необходимые запросы к таблицам базы данных.
4. Формируют отчеты на основании запросов для вывода на печать.
В предыдущих статьях этого цикла мы рассмотрели создание таблицы базы данных и познакомились с некоторыми механизмами создания запросов и отчетов: с сортировкой данных, с автофильтром и расширенным фильтром.
В этой (пятой в цикле) статье рассмотрим п.2 вышеизложенного алгоритма – вызов и использование формы для ввода данных.
Форма Excel. Вводим данные!
Для чего нужна какая-то форма?! Бери таблицу — и пиши прямо в нее очередную строку информации! Зачем еще что-то выдумывать?
Мы так и делали при создании нашего небольшого и простого примера базы данных БД2 «Выпуск металлоконструкций участком №2», с которым работаем во всех статьях этого цикла.
Таблица маленькая, все столбцы-поля, относящиеся к одной записи, помещаются на экран и доступны взгляду пользователя без использования полос прокрутки. Но так бывает редко! Реальные таблицы баз данных часто содержат не шесть, как в нашем примере, а десять, двадцать и более столбцов-полей!
При вводе данных в такие таблицы Excel «напрямую» при заполнении строк для перемещения по столбцам необходимо каждый раз нажимать клавишу «Tab», а для перехода к новой записи на новую строку пользоваться прокруткой и мышью или клавишами «Enter» и «<—» («стрелка влево») для возврата на первое поле очередной строки.
Справедливости ради следует уточнить, что переходы по таблице, являющейся именованным диапазоном и объявленной списком, как в нашем примере, осуществляются только при помощи клавиши «Tab». Дойдя до последнего столбца у правой границы списка и нажав в очередной раз клавишу «Tab», мы перейдем на следующую строку и первый столбец у левой границы списка.
Главным и почти единственным преимуществом использования формы при вводе данных, на мой взгляд, является возможность видеть одновременно все столбцы-поля одной записи на экране, расположенными построчно.
Еще одним небольшим, но несомненным плюсом ввода данных через форму является то, что такая работа развивает у начинающего пользователя интуитивное восприятие «оконного» интерфейса.
Ввести очередную строку информации в базу данных через форму.
Рассмотрим ввод данных в Excel при помощи формы на примере добавления очередной записи в базу данных БД2 «Выпуск металлоконструкций участком №2».
1. Открываем в MS Excel файл database.xls.
2. Активируем («щелкаем мышкой») любую ячейку внутри таблицы базы.
3. Выполняем команду главного меню программы «Данные» — «Форма…».
4. В появившемся окне, представляющем собой форму с именем «БД2» (по имени листа книги Excel, на котором расположена таблица), нажимаем кнопку «Добавить».
5. Заполняем окна данными новой записи, например, так, как показано ниже на снимке экрана. Переходим от окна к окну при помощи клавиатуры, нажимая клавишу «Tab».
6. Нажимаем кнопку формы «Закрыть» или «Enter» на клавиатуре. Ввод данных в Excel успешно осуществлен — новая запись добавлена в базу!
На снимке экрана в таблице базы данных внизу расположилась строка «Итог», которую можно вызвать, выполнив команду главного меню «Данные» — «Список» — «Строка итогов». Пощелкайте мышкой по ячейкам этой строки! В появляющихся выпадающих списках можно настроить получение самых разнообразных итогов. Кроме банальной суммы можно получить для каждого столбца индивидуально: среднее, количество, количество чисел, максимум, минимум, смещенное отклонение, смещенную дисперсию! Очень полезная функция списка!
Если в форме «БД2» воспользоваться полосой прокрутки или кнопками «Далее» и «Назад», то можно, быстро перемещаясь по базе данных, просматривать интересующие записи.
Ввод данных в Excel через форму, являющийся альтернативой прямой записи информации в таблицу, безусловно, находит своих приверженцев среди специалистов, привыкших работать с большими базами данных и среди операторов, вносящих ежедневно значительные объемы данных в различные базы.
Выбирайте удобный для себя способ ввода данных и знайте, что у вас всегда есть, как минимум, два варианта решения этой задачи. О некоторых преимуществах использования формы уже было сказано выше.
Следующая статья завершит укрупненный обзор темы хранения и управления большими объемами информации в Excel. Вы узнаете о самом важном – о том, ради чего и затевался весь этот цикл статей.
Прошу уважающих труд автора подписаться на анонсы статей в окне, расположенном в конце каждой статьи или в окне вверху страницы!
Уважаемые читатели, пишите отзывы, вопросы и замечания в комментариях внизу страницы.
Форма ввода данных в Excel
Также статьи о работе с данными в Экселе:
При заполнении таблиц в Экселе можно воспользоваться формой ввода данных, которая должна значительно упростить весь процесс. Форма ввода данных в таблицы Excel позволит видеть сразу все колонки, которые необходимо заполнить, что особенно удобно при больших таблицах.
По умолчанию в Экселе 2010 и выше в меню нет возможности вызвать форму ввода и нам необходимо на панель быстрого доступа вытащить соответствующий значок. Для этого нажимаем правой кнопкой мыши на панель быстрого доступа, и в меню выбираем «Настройка панели быстрого доступа…».
В окошке «Параметры Excel» в левом меню должно быть выбрано «Панель быстрого доступа», в графе «Выбрать команды из…» выбрать «Команды на ленте». Далее в списке ниже необходимо найти графу «Форма», и кнопкой «Добавить» добавить значок на панель быстрого доступа. После чего нажать «Ок».
Возможность создать форму для ввода данных в Excel мы сделали, но теперь осталось разобраться, в каких случаях она работать не будет. Форма ввода не будет работать, если в таблице имеется более 32 столбцов или если внесенные нами данные еще не напоминают таблицу, например, указаны только заголовки столбцов. При этом, если создать таблицу через меню «Вставка Таблица» или применением форматирования таблицы, то форма ввода данных будет успешно работать, даже если в таблице будут только заголовки.
К примеру, на листе мы составили заголовки будущей таблицы без применения форматирования и внесли первое значение в любой столбец. В этом случае Эксель уже может интерпретировать эти данные, как таблицу, и после нажатия на значок вызова формы появится окошко формы ввода данных. После заполнения всех ячеек можно нажать на кнопку «Добавить» для переходя к заполнению следующего ряда, либо нажать «Закрыть» для завершения внесения данных.
Для удобства перехода к следующему полю формы можно использовать клавишу «Tab». В правом верхнем углу формы всегда отображается текущая заполняемая строка и общее количество строк таблицы. Чтобы перемещаться по строкам вперед и назад, можно использовать кнопки «Назад» и «Далее» или стрелочки вверх и вниз.
Создаем формы в Excel
Если вам приходилось работать с таблицами из множества колонок, да еще к концу рабочего дня и в условиях дефицита времени, то, наверняка, вы случайно вводили данные в ячейку не той строки, в лучшем случае спохватывались и исправляли ошибку сразу, в худшем — ошибка выплывала позже в самый неподходящий момент. Как защитить себя от подобных ситуаций? Есть очень удобное средство — формы. Их созданию и работе с ними посвящена эта статья.
Начнем с того, что не во всех версиях Excel сразу доступна волшебная кнопка Форма. В этом случае предварительно настройте Параметры (перейти к ним можно на вкладке Файл). Здесь вы также можете сразу не найти то, что нужно добавить на ленту. Поэтому сначала измените вариант в поле Выбрать команды (в данном случае нужен вариант Все команды). Чтобы добавить найденную в списке команду Форма, нужно выбрать имя вкладки, где разместится кнопка и создать новую группу. Теперь щелкните по кнопке Добавить и проверьте, появилась ли новая команда в новой группе.
После этих манипуляций на вкладке Данные появится группа Работа с формами (это название задаете вы, когда создаете группу при настройке параметров Excel), а в ней нужная вам кнопка.
Форму нельзя создать, если шапка таблицы занимает несколько строк — это минус.
Но здесь можно «схитрить»: вставьте после настоящей шапки пустую строку, оформите заголовки строк в одну строку, для этой строки после создания формы установите нулевую высоту (Формат — Размер ячеек —Высота строки — ).
Осталось только щелкнуть на любой ячейке таблицы и на кнопке Форма. Готово, можно работать. Вы видите строку, относящуюся только к одному человеку, причем все названия граф в одной форме. Названия кнопок — настоящие подсказки для пользователя. Нужна новая строка — Добавить, не нужна существующая — Удалить, нужно перейти к какой-либо впереди — Далее, позади — Назад.
Единственной «неочевидной» является кнопка Критерии. Она позволяет включать фильтр, чтобы быстрее находить нужные строки, если их очень много. При задании критерия можно использовать такие знаки, как «*» и «?», критериев может быть несколько (но задать их нужно в пределах одного окна). Для отключения фильтра используйте кнопку Правка.
Выбор поля формы можно делать щелчком мыши или клавишей ТАВ. Добавлять новую строку в таблицу можно с помощью соответствующей кнопки или нажатием ENTER, когда заполнено последнее поле.
Конечно, использовать ли форму или работать с таблицей напрямую, решать вам. Но чтобы выбрать оптимальный способ работы, нужно попробовать разные варианты. Сведения о форме в Excel из этой статьи помогут вам это сделать.
Microsoft Excel
трюки • приёмы • решения
Как использовать встроенную в Excel форму для ввода данных
При вводе данных в Excel некоторые люди предпочитают использовать форму ввода данных Excel — диалоговое окно, которое приспосабливается к вашим данным.
Прежде чем вы сможете использовать эту форму, вы должны настроить заголовки столбцов в вашем листе. Кроме того, вы можете указать диапазон данных в виде таблицы, выбрав Вставка ► Таблицы ► Таблица. Команды Форма нет на ленте, так что вам придется провести небольшую подготовительную работу. Рассмотрим, как можно добавить команду на панель быстрого доступа.
- Щелкните правой кнопкой мыши на панели быстрого доступа и выберите в контекстном меню пункт Настройка панели быстрого доступа. На экране появится раздел Панель быстрого доступа диалогового окна Параметры Excel.
- В раскрывающемся списке Выбрать команды из выберите Команды не на ленте.
- В списке ниже выберите Форма, а затем нажмите кнопку Добавить.
- Нажмите ОК, чтобы закрыть диалоговое окно Параметры Excel.
После выполнения этих шагов ваша панель быстрого доступа будет включать новый значок. При щелчке на нем отображается форма для ввода данных. Активизируйте любую ячейку в листе и выберите команду Форма на панели быстрого доступа. Вы увидите диалоговое окно, как показано на рис. 41.1 (ноля, отображаемые в диалоговом окне, меняются в зависимости от заголовков ваших столбцов).
Рис. 41.1. Форма ввода данных Excel
Если количество столбцов в вашем списке больше, чем позволяет вместить экран, диалоговое окно будет содержать два столбца имен полей. Если в списке более 32 столбцов, команда Форма не работает. Вам придется отказаться от этого метода ввода данных и вводить информацию в ячейки напрямую.
Когда выводится форма с данными, отображается первая запись в списке. Обратите внимание на индикатор в верхнем правом углу окна: он сообщает вам, какая запись выбрана, и количество записей в списке. Проверьте это действие.
Чтобы ввести новую запись, нажмите кнопку Добавить для очистки полей. Теперь вы можете ввести новую информацию в соответствующие поля. Нажмите клавишу Tab или Shift+Tab для перемещения между полями. Когда вы нажмете кнопку Добавить (или Закрыть), данные, которые вы ввели, добавятся в нижнюю часть списка. Вы также можете нажать Enter, что эквивалентно нажатию кнопки Добавить. Если список содержит формулы, они также автоматически вводятся в новую запись.
Если ваш список назван Database, Excel автоматически расширяет определение диапазона так, чтобы он включал новую строку или строки, которые вы добавляете в список с помощью формы. Обратите внимание на то, что этот метод работает только тогда, когда имя списка — Database; никакое другое имя не работает. Используйте команду Формулы ► Определенные имена ► Присвоить имя, чтобы задать имя диапазону. Если список находится в таблице (созданной с помощью команды Вставка ► Таблицы ► Таблица), нет необходимости именовать диапазон. Таблица будет расширена автоматически при добавлении новых данных.
Вы можете использовать форму не только для ввода данных, но и для редактирования и удаления существующих данных в списке, просмотра данных по одной записи за раз и отображения записей, которые отвечают определенным критериям. Форма содержит несколько дополнительных кнопок.
- Удалить — удаляет текущую запись.
- Вернуть — восстанавливает любую информацию, которую вы редактировали. Вы должны нажать ее, прежде чем нажмете кнопку Добавить.
- Назад — отображает предыдущую запись в списке. Если вы ввели критерий, эта кнопка показывает предыдущую запись, которая соответствует критерию.
- Далее — отображает следующую запись в списке. Если вы ввели критерий, эта кнопка показывает следующую запись, которая соответствует критерию.
- Критерии — очищает поля и позволяет ввести критерий, по которому выполняется поиск записей. Например, чтобы найти записи, в которых значение цены менее $200 000, введите в поле Цена. Затем вы можете использовать кнопки Назад и Далее для отображения подходящих под критерий записей.
- Закрыть — закрывает форму (и вводит любые данные, которые вы вводили).
Использование элементов управления форм на листе Excel
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
В Microsoft Excel есть несколько элементов управления для листов диалога, которые можно использовать для выбора элементов из списка. Примеры элементов управления: списки, поля со списком, счетчики и полосы прокрутки.
Дополнительные сведения об элементах управления форм в Excel можно найти в статье Общие сведения о формах, элементах управления форм и элементах ActiveX на листе.
Дополнительные сведения
В следующих методах показано, как использовать списки, поля со списком, счетчики и полосы прокрутки. В примерах используется один и тот же список, ссылка на ячейку и функция индекс.
Включение вкладки «Разработчик»
Чтобы использовать элементы управления формы в Excel 2010 и более поздних версиях, необходимо включить вкладку Разработчик. Для этого выполните указанные ниже действия.
Откройте вкладку Файл и выберите команду Параметры.
В левой области выберите пункт настроить ленту .
Установите флажок разработчик в разделе Основные вкладки справа, а затем нажмите кнопку ОК.
Чтобы использовать элементы управления форм в Excel 2007, необходимо включить вкладку разработчик . Для этого выполните указанные ниже действия.
Нажмите кнопку Microsoft Office, а затем — Параметры Excel.
Нажмите популярные, установите флажок Показыватьвкладку «Разработчик» на ленте и нажмите кнопку ОК.
Настройка списка, ссылки на ячейку и предметного указателя
На новом листе введите следующие элементы в диапазоне от H1: H20:
H1: роликовый Скатес
H6: Вашинг Machine
H7: Роккет Launcher
H11: — это очень привлекательные
H18: набор инструментов
H20: жесткий диск
В ячейке a1 введите следующую формулу:
= ИНДЕКС (H1: H20; G1; 0)
Пример окна списка
Чтобы добавить список в Excel 2007 и более поздних версий, откройте вкладку разработчик , нажмите кнопку Вставить в группе элементы управления , а затем в разделе элементы управления формывыберите пункт форма списка (элемент управления) .
Чтобы добавить список в Excel 2003 и более ранних версиях Excel, нажмите кнопку «список» на панели инструментов «формы». Если панель инструментов формы не отображается, в меню Вид выберите пункт панели инструментов, а затем — пункт формы.
Щелкните на листе место, где должен быть расположен левый верхний угол списка, и перетащите его в то место, где должен находиться правый нижний угол поля со списком. В этом примере создайте список, охватывающий ячейки B2: E10.
В группе элементы управления нажмите кнопку свойства.
В окне Формат объекта введите следующие данные, а затем нажмите кнопку ОК.
Чтобы задать диапазон списка, введите H1: H20 в поле диапазон ввода .
Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».
Примечание: Формула INDEX () использует значение в ячейке G1, чтобы вернуть правильный элемент списка.
В разделе тип выделенияубедитесь, что выбран параметр один вариант.
Примечание: Параметры Multi и Extend полезны только в том случае, если вы используете процедуру Microsoft Visual Basic для приложений, чтобы возвращать значения списка. Также обратите внимание на то, что флажок объемной заливки позволяет добавить трехмерный вид в список.
Список элементов должен отображаться в списке. Чтобы использовать список, щелкните любую ячейку, чтобы не выделять список. Если щелкнуть элемент в списке, ячейка G1 будет обновлена числом, указывающим позицию выбранного в списке элемента. Формула INDEX в ячейке a1 использует этот номер для отображения имени элемента.
Пример поля со списком
Чтобы добавить поле со списком в Excel 2007 и более поздних версиях, откройте вкладку разработчик , нажмите кнопку Вставить, а затем в разделе элементы управления формыщелкните поле со списком .
Чтобы добавить поле со списком в Excel 2003 и более ранних версиях Excel, нажмите кнопку раскрывающегося списка на панели инструментов формы.
Щелкните на листе место, где должен быть расположен левый верхний угол поля со списком, а затем перетащите поле со списком в то место, где должен находиться правый нижний угол окна списка. В этом примере создайте поле со списком, которое охватывает ячейки B2: E2.
Щелкните поле со списком правой кнопкой мыши и выберите пункт Формат элемента управления.
Введите указанные ниже данные и нажмите кнопку ОК.
Чтобы задать диапазон списка, введите H1: H20 в поле диапазон ввода .
Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».
Примечание: Формула INDEX использует значение в ячейке G1, чтобы вернуть правильный элемент списка.
В поле строки раскрывающегося списка введите 10. Этот параметр определяет, сколько элементов будет отображаться, прежде чем использовать полосу прокрутки для просмотра остальных элементов.
Примечание: Флажок объемной заливки необязателен. Он добавляет трехмерный вид в раскрывающийся список или поле со списком.
В раскрывающемся списке или поле со списком должен быть отображен список элементов. Чтобы использовать раскрывающийся список или поле со списком, щелкните любую ячейку, чтобы выделить объект. Если щелкнуть элемент в раскрывающемся списке или поле со списком, ячейка G1 будет обновлена числом, указывающим позицию в списке выбранного элемента. Формула INDEX в ячейке a1 использует этот номер для отображения имени элемента.
Пример кнопки «Счетчик»
Чтобы добавить счетчик в Excel 2007 и более поздних версий, откройте вкладку разработчик , нажмите кнопку Вставить, а затем в разделе элементы управления формынажмите кнопку Счетчик .
Чтобы добавить счетчик в Excel 2003 и более ранних версиях Excel, нажмите кнопку «Счетчик» на панели инструментов «формы».
Щелкните на листе место, где должен быть расположен левый верхний угол счетчика, а затем перетащите счетчик в то место, где должен находиться правый нижний угол кнопки счетчика. В этом примере создайте прокрутку кнопки, которая охватывает ячейки B2: B3.
Щелкните правой кнопкой мыши кнопку счетчик и выберите пункт Формат элемента управления.
Введите указанные ниже данные и нажмите кнопку ОК.
В поле Текущее значение введите 1.
Это значение инициализирует счетчик, чтобы формула указателя указывала на первый элемент в списке.
В поле минимальное значение введите 1.
Это значение ограничивает верхнюю часть счетчика на первый элемент в списке.
В поле Максимальное значение введите 20.
Этот номер задает максимальное количество элементов в списке.
В поле Шаг изменения введите 1.
Это значение определяет степень приращения текущего значения с помощью элемента управления «Счетчик».
Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле «связь с ячейкой».
Щелкните любую ячейку, чтобы кнопка счетчика не выделена. Если щелкнуть элемент управления вверх или вниз на кнопке счетчик, ячейка G1 будет обновлена числом, которое указывает текущее значение счетчика, а также инкрементное изменение счетчика. Затем этот номер обновляет формулу INDEX в ячейке a1 для отображения следующего или предыдущего элемента.
Значение «Счетчик» не изменится, если текущее значение равно 1, а затем щелкнуть элемент управления вниз или, если текущее значение равно 20, а затем щелкнуть элемент управления вверх.
Пример полосы прокрутки
Чтобы добавить полосу прокрутки в Excel 2007 и более поздних версиях, откройте вкладку разработчик , нажмите кнопку Вставитьи выберите элемент полоса прокрутки в разделе элементы управления формы.
Чтобы добавить полосу прокрутки в Excel 2003 и более ранних версиях Excel, нажмите кнопку «вертикальная полоса прокрутки» на панели инструментов «формы».
Щелкните на листе место, где должен находиться левый верхний угол полосы прокрутки, а затем перетащите полосу прокрутки в то место, где должен находиться правый нижний угол полосы прокрутки. В этом примере создается полоса прокрутки, которая охватывает ячейки B2: B6 в высоту и является примерно одной четвертой ширины столбца.
Щелкните полосу прокрутки правой кнопкой мыши и выберите пункт Формат элемента управления.
Введите указанные ниже данные и нажмите кнопку ОК.
В поле Текущее значение введите 1.
Это значение инициализирует полосу прокрутки таким образом, чтобы формула указателя указывала на первый элемент в списке.
В поле минимальное значение введите 1.
Это значение ограничивает верхнюю часть полосы прокрутки до первого элемента в списке.
В поле Максимальное значение введите 20. Этот номер задает максимальное количество элементов в списке.
В поле Шаг изменения введите 1.
Это значение определяет, сколько чисел элемент управления «полоса прокрутки» увеличит текущее значение.
В диалоговом окне изменение страницы введите 5. Это значение определяет, сколько текущее значение будет изменяться при щелчке внутри полосы прокрутки на любой из сторон бегунка.
Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».
Примечание: Флажок объемной заливки необязателен. Она добавляет трехмерный вид к полосе прокрутки.
Щелкните любую ячейку так, чтобы полоса прокрутки не выделена. Если щелкнуть элемент управления вверх или вниз на полосе прокрутки, ячейка G1 будет обновлена до числа, указывающего текущее значение полосы прокрутки плюс или минус добавочное изменение полосы прокрутки. Этот номер используется в формуле указателя в ячейке a1 для отображения элемента рядом с текущим элементом или перед ним. Вы также можете перетаскивать ползунок прокрутки, чтобы изменить значение или щелкнуть полосу прокрутки на обеих сторонах ползунка, чтобы увеличить его на 5 (значение изменения страницы). Полоса прокрутки не изменится, если текущее значение равно 1, и вы щелкните элемент управления вниз или, если текущее значение равно 20, а затем щелкните элемент управления вверх.
Нам потребуется обычный файл 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, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.