Формы ввода данных в Microsoft Excel

Для облегчения ввода данных в таблицу в Excel можно воспользоваться специальными формами, которые помогут ускорить процесс заполнения табличного диапазона информацией. В Экселе имеется встроенный инструмент позволяющий производить заполнение подобным методом. Также пользователь может создать собственный вариант формы, которая будет максимально адаптирована под его потребности, применив для этого макрос. Давайте рассмотрим различные варианты использования этих полезных инструментов заполнения в Excel.

Применение инструментов заполнения

Форма заполнения представляет собой объект с полями, наименования которых соответствуют названиям колонок столбцов заполняемой таблицы. В эти поля нужно вводить данные и они тут же будут добавляться новой строкой в табличный диапазон. Форма может выступать как в виде отдельного встроенного инструмента Excel, так и располагаться непосредственно на листе в виде его диапазона, если она создана самим пользователем.

Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.

Способ 1: встроенный объект для ввода данных Excel

Прежде всего, давайте узнаем, как применять встроенную форму для ввода данных Excel.

  1. Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку , а затем щелкаем по пункту .
  2. В открывшемся окне параметров Эксель перемещаемся в раздел . Большую часть окна занимает обширная область настроек. В левой её части находятся инструменты, которые могут быть добавлены на панель быстрого доступа, а в правой – уже присутствующие.

    В поле устанавливаем значение . Далее из списка команд, расположенного в алфавитном порядке, находим и выделяем позицию . Затем жмем на кнопку .

  3. После этого нужный нам инструмент отобразится в правой части окна. Жмем на кнопку .
  4. Теперь данный инструмент располагается в окне Excel на панели быстрого доступа, и мы им можем воспользоваться. Он будет присутствовать при открытии любой книги данным экземпляром Excel.
  5. Теперь, чтобы инструмент понял, что именно ему нужно заполнять, следует оформить шапку таблицы и записать любое значение в ней. Пусть табличный массив у нас будет состоять из четырех столбцов, которые имеют названия , , и . Вводим данные названия в произвольный горизонтальный диапазон листа.
  6. Также, чтобы программа поняла, с каким именно диапазонам ей нужно будет работать, следует ввести любое значение в первую строку табличного массива.
  7. После этого выделяем любую ячейку заготовки таблицы и щелкаем на панели быстрого доступа по значку , который мы ранее активировали.
  8. Итак, открывается окно указанного инструмента. Как видим, данный объект имеет поля, которые соответствуют названиям столбцов нашего табличного массива. При этом первое поле уже заполнено значением, так как мы его ввели вручную на листе.
  9. Вводим значения, которые считаем нужными и в остальные поля, после чего жмем на кнопку .
  10. После этого, как видим, в первую строку таблицы были автоматически перенесены введенные значения, а в форме произошел переход к следующему блоку полей, который соответствуют второй строке табличного массива.
  11. Заполняем окно инструмента теми значениями, которые хотим видеть во второй строке табличной области, и снова щелкаем по кнопке .
  12. Как видим, значения второй строчки тоже были добавлены, причем нам даже не пришлось переставлять курсор в самой таблице.
  13. Таким образом, заполняем табличный массив всеми значениями, которые хотим в неё ввести.
  14. Кроме того, при желании, можно производить навигацию по ранее введенным значениям с помощью кнопок и или вертикальной полосы прокрутки.
  15. При необходимости можно откорректировать любое значение в табличном массиве, изменив его в форме. Чтобы изменения отобразились на листе, после внесения их в соответствующий блок инструмента, жмем на кнопку .
  16. Как видим, изменение сразу произошло и в табличной области.
  17. Если нам нужно удалить, какую-то строчку, то через кнопки навигации или полосу прокрутки переходим к соответствующему ей блоку полей в форме. После этого щелкаем по кнопке в окошке инструмента.
  18. Открывается диалоговое окно предупреждения, в котором сообщается, что строка будет удалена. Если вы уверены в своих действиях, то жмите на кнопку .
  19. Как видим, строчка была извлечена из табличного диапазона. После того, как заполнение и редактирование закончено, можно выходить из окна инструмента, нажав на кнопку .
  20. После этого для предания табличному массиву более наглядного визуального вида можно произвести форматирование.

Способ 2: создание пользовательской формы

Кроме того, с помощью макроса и ряда других инструментов существует возможность создать собственную пользовательскую форму для заполнения табличной области. Она будет создаваться прямо на листе, и представлять собой её диапазон. С помощью данного инструмента пользователь сам сможет реализовать те возможности, которые считает нужными. По функционалу он практически ни в чем не будет уступать встроенному аналогу Excel, а кое в чем, возможно, превосходить его. Единственный недостаток состоит в том, что для каждого табличного массива придется составлять отдельную форму, а не применять один и тот же шаблон, как это возможно при использовании стандартного варианта.

  1. Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: , , , , .
  2. Далее нужно из нашего табличного массива сделать так называемую «умную» таблицу, с возможностью автоматического добавления строчек при заполнении соседних диапазонов или ячеек данными. Для этого выделяем шапку и, находясь во вкладке , жмем на кнопку в блоке инструментов . После этого открывается список доступных вариантов стилей. На функционал выбор одного из них никак не повлияет, поэтому выбираем просто тот вариант, который считаем более подходящим.
  3. Затем открывается небольшое окошко форматирования таблицы. В нем указан диапазон, который мы ранее выделили, то есть, диапазон шапки. Как правило, в данном поле заполнено все верно. Но нам следует установить галочку около параметра . После этого жмем на кнопку .
  4. Итак, наш диапазон отформатирован, как «умная» таблица, свидетельством чему является даже изменение визуального отображения. Как видим, помимо прочего, около каждого названия заголовка столбцов появились значки фильтрации. Их следует отключить. Для этого выделяем любую ячейку «умной» таблицы и переходим во вкладку . Там на ленте в блоке инструментов щелкаем по значку .

    Существует ещё один вариант отключения фильтра. При этом не нужно даже будет переходить на другую вкладку, оставаясь во вкладке . После выделения ячейки табличной области на ленте в блоке настроек щелкаем по значку . В появившемся списке выбираем позицию .

  5. Как видим, после этого действия значки фильтрации исчезли из шапки таблицы, как это и требовалось.
  6. Затем нам следует создать саму форму ввода данных. Она тоже будет представлять собой своего рода табличный массив, состоящий из двух столбцов. Наименования строк данного объекта будут соответствовать именам столбцов основной таблицы. Исключение составляют столбцы и . Они будут отсутствовать. Нумерация первого из них будет происходить при помощи макроса, а расчет значений во втором будет производиться путем применения формулы умножения количества на цену.

    Второй столбец объекта ввода данных оставим пока что пустым. Непосредственно в него позже будут вводиться значения для заполнения строк основного табличного диапазона.

  7. После этого создаем ещё одну небольшую таблицу. Она будет состоять из одного столбца и в ней разместится список товаров, которые мы будем выводить во вторую колонку основной таблицы. Для наглядности ячейку с заголовком данного перечня () можно залить цветом.
  8. Затем выделяем первую пустую ячейку объекта ввода значений. Переходим во вкладку . Щелкаем по значку , который размещен на ленте в блоке инструментов .
  9. Запускается окно проверки вводимых данных. Кликаем по полю , в котором по умолчанию установлен параметр .
  10. Из раскрывшихся вариантов выбираем позицию .
  11. Как видим, после этого окно проверки вводимых значений несколько изменило свою конфигурацию. Появилось дополнительное поле . Щелкаем по пиктограмме справа от него левой клавишей мыши.
  12. Затем окно проверки вводимых значений сворачивается. Выделяем курсором с зажатой левой клавишей мыши перечень данных, которые размещены на листе в дополнительной табличной области . После этого опять жмем на пиктограмму справа от поля, в котором появился адрес выделенного диапазона.
  13. Происходит возврат к окошку проверки вводимых значений. Как видим, координаты выделенного диапазона в нем уже отображены в поле . Кликаем по кнопке внизу окна.
  14. Теперь справа от выделенной пустой ячейки объекта ввода данных появилась пиктограмма в виде треугольника. При клике на неё открывается выпадающий список, состоящий из названий, которые подтягиваются из табличного массива . Произвольные данные в указанную ячейку теперь внести невозможно, а только можно выбрать из представленного списка нужную позицию. Выбираем пункт в выпадающем списке.
  15. Как видим, выбранная позиция тут же отобразилась в поле .
  16. Далее нам нужно будет присвоить имена тем трем ячейкам формы ввода, куда мы будем вводить данные. Выделяем первую ячейку, где уже установлено в нашем случае наименование . Далее переходим в поле наименования диапазонов. Оно расположено в левой части окна Excel на том же уровне, что и строка формул. Вводим туда произвольное название. Это может быть любое наименование на латинице, в котором нет пробелов, но лучше все-таки использовать названия близкие к решаемым данным элементом задачам. Поэтому первую ячейку, в которой содержится название товара, назовем . Пишем данное наименование в поле и жмем на клавишу на клавиатуре.
  17. Точно таким же образом присваиваем ячейке, в которую будем вводить количество товара, имя .
  18. А ячейке с ценой – .
  19. После этого точно таким же образом даем название всему диапазону из вышеуказанных трех ячеек. Прежде всего, выделим, а потом дадим ему наименование в специальном поле. Пусть это будет имя .
  20. После последнего действия обязательно сохраняем документ, чтобы названия, которые мы присвоили, смог воспринимать макрос, созданный нами в дальнейшем. Для сохранения переходим во вкладку и кликаем по пункту .
  21. В открывшемся окне сохранения в поле выбираем значение . Далее жмем на кнопку .
  22. Затем вам следует активировать работу макросов в своей версии Excel и включить вкладку , если вы это до сих пор не сделали. Дело в том, что обе эти функции по умолчанию в программе отключены, и их активацию нужно выполнять принудительно в окне параметров Excel.
  23. После того, как вы сделали это, переходим во вкладку . Кликаем по большому значку , который расположен на ленте в блоке инструментов .
  24. Последнее действие приводит к тому, что запускается редактор макросов VBA. В области , которая расположена в верхней левой части окна, выделяем имя того листа, где располагаются наши таблицы. В данном случае это .
  25. После этого переходим к левой нижней области окна под названием . Тут расположены настройки выделенного листа. В поле следует заменить кириллическое наименование () на название, написанное на латинице. Название можно дать любое, которое вам будет удобнее, главное, чтобы в нем были исключительно символы латиницы или цифры и отсутствовали другие знаки или пробелы. Именно с этим именем будет работать макрос. Пусть в нашем случае данным названием будет , хотя вы можете выбрать и любое другое, соответствующее условиям, которые были описаны выше.

    В поле тоже можно заменить название на более удобное. Но это не обязательно. При этом допускается использование пробелов, кириллицы и любых других знаков. В отличие от предыдущего параметра, который задает наименование листа для программы, данный параметр присваивает название листу, видимое пользователю на панели ярлыков.

    Как видим, после этого автоматически изменится и наименование в области , на то, которое мы только что задали в настройках.

  26. Затем переходим в центральную область окна. Именно тут нам нужно будет записать сам код макроса. Если поле редактора кода белого цвета в указанной области не отображается, как в нашем случае, то жмем на функциональную клавишу и оно появится.
  27. Теперь для конкретно нашего примера нужно записать в поле следующий код:

    Sub DataEntryForm()
    Dim nextRow As Long
    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    With Producty
    If .Range(«A2»).Value = «» And .Range(«B2»).Value = «» Then
    nextRow = nextRow — 1
    End If
    Producty.Range(«Name»).Copy
    .Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
    .Cells(nextRow, 3).Value = Producty.Range(«Volum»).Value
    .Cells(nextRow, 4).Value = Producty.Range(«Price»).Value
    .Cells(nextRow, 5).Value = Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value
    .Range(«A2»).Formula = «=IF(ISBLANK(B2), «»»», COUNTA($B$2:B2))»
    If nextRow > 2 Then
    Range(«A2»).Select
    Selection.AutoFill Destination:=Range(«A2:A» & nextRow)
    Range(«A2:A» & nextRow).Select
    End If
    .Range(«Diapason»).ClearContents
    End With
    End Sub

    Но этот код не универсальный, то есть, он в неизменном виде подходит только для нашего случая. Если вы хотите его приспособить под свои потребности, то его следует соответственно модифицировать. Чтобы вы смогли сделать это самостоятельно, давайте разберем, из чего данный код состоит, что в нем следует заменить, а что менять не нужно.

    Итак, первая строка:

    Sub DataEntryForm()

    — это название самого макроса. Вы можете оставить его как есть, а можете заменить на любое другое, которое соответствует общим правилам создания наименований макросов (отсутствие пробелов, использование только букв латинского алфавита и т.д.). Изменение наименования ни на что не повлияет.

    Везде, где встречается в коде слово вы должны его заменить на то наименование, которое ранее присвоили для своего листа в поле области редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.

    Теперь рассмотрим такую строку:

    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row

    Цифра в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка . По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение в любом случае оставляем без изменений.

    Далее рассмотрим строку

    If .Range(«A2»).Value = «» And .Range(«B2»).Value = «» Then

    — это координаты первой ячейки, в которой будет выводиться нумерация строк. — это координаты первой ячейки, по которой будет производиться вывод данных (). Если они у вас отличаются, то введите вместо этих координат свои данные.

    Переходим к строке

    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

    наименования и означают названия, которые мы присвоили полям и в той же форме ввода.

    В этих же строках, которые мы указали выше, цифры , , , означают номера столбцов на листе 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

    Все значения означают адрес первой ячейки, где будет производиться нумерация, а координаты « — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.

    В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:

    .Range(«Diapason»).ClearContents

    Не трудно догадаться, что () означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.

    Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.

    После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.

  28. После этого возвращаемся на лист Excel. Теперь нам следует разместить кнопку, которая будет активировать созданный макрос. Для этого переходим во вкладку . В блоке настроек на ленте кликаем по кнопке . Открывается перечень инструментов. В группе инструментов выбираем самый первый – .
  29. Затем с зажатой левой клавишей мыши обводим курсором область, где хотим разместить кнопку запуска макроса, который будет производить перенос данных из формы в таблицу.
  30. После того, как область обведена, отпускаем клавишу мыши. Затем автоматически запускается окно назначения макроса объекту. Если в вашей книге применяется несколько макросов, то выбираем из списка название того, который мы выше создавали. У нас он называется . Но в данном случае макрос один, поэтому просто выбираем его и жмем на кнопку внизу окна.
  31. После этого можно переименовать кнопку, как вы захотите, просто выделив её текущее название.

    В нашем случае, например, логично будет дать ей имя . Переименовываем и кликаем мышкой по любой свободной ячейке листа.

  32. Итак, наша форма полностью готова. Проверим, как она работает. Вводим в её поля необходимые значения и жмем на кнопку .
  33. Как видим, значения перемещены в таблицу, строке автоматически присвоен номер, сумма посчитана, поля формы очищены.
  34. Повторно заполняем форму и жмем на кнопку .
  35. Как видим, и вторая строка также добавлена в табличный массив. Это означает, что инструмент работает.

Как создать кнопку в Excel

В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде VBA, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.

Мы рады, что смогли помочь Вам в решении проблемы.
Помимо этой статьи, на сайте еще 13048 полезных инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам. Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Источник: starhit
Читайте также  Что делать, если файлы с компьютера не копируются на флешку

Домашние хитрости