Как создать простую форму ввода без VBA в Microsoft Excel
Обычно заполнение данных в таблицах Microsoft Excel происходит вручную, однако это не всегда удобно, особенно если речь идет о проектах с большим количеством столбцов. Часто приходится при помощи мыши пролистывать лист в сторону и выполнять лишние движения для переключения между ячейками. Решается эта проблема путем создания простой формы ввода, что реализуемо без навыков программирования на VBA.
Подготовительные действия
Сначала понадобится подготовить сам лист, а именно – сформировать таблицу, чтобы в будущем форма ее корректно распознала. Вместе с этим нужно активировать кнопку для вызова формы, поскольку по умолчанию в новых версиях Microsoft Excel она не добавлена на панель быстрого доступа.
Зажмите левую кнопку мыши и выделите все содержимое таблицы, после чего перейдите на вкладку «Вставка».
На ней разверните список «Таблицы» и кликните левой кнопкой мыши по варианту «Таблица».
Расположение таблицы уже будет задано по умолчанию, поэтому останется только подтвердить данное действие.
Изменять внешний вид таблицы вы можете по своему усмотрению, но сейчас я остановлюсь на классическом ее виде, поскольку функционально разницы никакой не будет.
Далее понадобится добавить кнопку вызова формы, для чего перейдите на вкладку «Файл».
Нажмите по пункту «Другие» и из появившегося меню выберите пункт «Параметры».
В новом окне с настройками на панели слева выберите раздел «Панель быстрого доступа» и установите фильтр для команд «Команды не на ленте».
Среди всех команд отыщите «Форма», выделите ее левой кнопкой мыши и нажмите «Добавить».
На этом процесс настройки закончен, поэтому убедитесь в том, что кнопка теперь отображается в перечне справа, после чего нажмите «ОК».
Все, теперь у вас есть готовая таблица для заполнения, а также кнопка на панели быстрого доступа, которая и отвечает за вызов окна с формой.
Заполнение простой формы ввода
Я покажу пример, как осуществляется заполнение простой формы при помощи функционального окна, кнопку вызова которого мы и добавили на панель быстрого доступа. Процесс заполнения данных выглядит просто и отлично подойдет для тех ситуаций, когда одновременно нужно создать сразу несколько строк с большим количеством столбцов.
Выделите абсолютно любую ячейку, входящую в таблицу, после чего нажмите по кнопке «Форма» на панели быстрого доступа.
Начните с нажатия по кнопке «Добавить», чтобы создать новую строку для заполнения.
Введите по очереди значения для каждых ячеек из столбцов с названиями, затем нажмите Enter для подтверждения ввода.
Сразу же можете приступить к добавлению следующей строчки и делать так до тех пор, пока не завершите ввод всех значений для данной таблицы.
Такая нехитрая последовательность действий позволяет быстро заполнять таблицу данными без необходимости постоянно переключаться между строками и ячейками вручную. Вместе с этим отсутствует надобность самостоятельного создания формы через VBA, что для большинства пользователей практически нерешаемая задача.
Опросы в Excel, размещенные в Интернете
Примечание: В настоящее время мы обновляем эту функцию и развертываем изменения, поэтому у вас могут быть другие возможности, чем описано ниже. Узнайте больше о предстоящих улучшениях функциональности в области «Создание формы» с помощью Microsoft Forms.
Опросы позволяют другим людям заполнять ваш список, например список участников или анкету, где вы можете увидеть все это в одном месте в Интернете. Вот как можно создать опрос в OneDrive и OneDrive для работы или учебы:
В OneDrive для работы или учебы
Чтобы при начать создание опроса, выполните указанные здесь действия.
Войдите в Microsoft 365 с помощью рабочей или учебной учетной записи.
Нажмите кнопку«Создать» и выберите Формы для Excel, чтобы приступить к созданию опроса.
Примечание: Формы для Excel доступны для OneDrive для работы или учебы и новых сайтов групп, связанных с Microsoft 365 группами. Узнайте больше о группах Microsoft 365.
Введите имя опроса и нажмите кнопку «Создать».
Нажмите кнопку «Добавить вопрос», чтобы добавить новый вопрос в опрос. Доступны такие типы вопросов, как Выбор, Текст, Оценка и Дата.
Примечание: Опрос автоматически сохраняются при его создании.
Для вопросов типа «Выбор» введите текстовое содержание вопроса и каждого из вариантов выбора.
Хотите добавить варианты? Щелкните Добавить вариант, чтобы добавить ответы, отличные от двух стандартных вариантов. Нажмите кнопку «Добавить другое», чтобы добавить параметр выбора, который отображает текст «Другие». Чтобы удалить вариант, нажмите кнопку корзины рядом с ним. Вы также можете сделать ответ обязательным или разрешить несколько вариантов выбора с помощью параметров под вопросом. Чтобы Microsoft Forms в случайном порядке порядок параметров, которые отображаются для пользователей опроса, нажмите кнопку с многолипкой кнопкой(. )и выберите «Параметры в случайном порядке».
Совет: Нажмите кнопку с многоточием (…) и щелкните Подзаголовок, чтобы добавить для вопроса подзаголовок.
Для некоторых вопросов будут автоматически выводиться предложения.
Щелкните предлагаемый вариант, чтобы добавить его. В приведенном ниже примере выбраны Понедельник, Среда и Пятница.
Нажмите кнопку «Добавить вопрос», чтобы добавить другие вопросы в опрос. Изменить порядок вопросов можно с помощью стрелок Вверх и Вниз справа от них. Если вы хотите, чтобы на опросе отображалось большее текстовое поле, выберите параметр «Длинный ответ».
Совет: Чтобы скопировать вопрос, выберите его и нажмите кнопку «Копировать вопрос в правом верхнем углу.
Для текстовых вопросов также можно установить ограничение, если в качестве ответа должны использоваться числа. Нажмите кнопку с многоточием (…) и щелкните Ограничения. Установить для чисел ограничения можно с помощью параметров Больше, Меньше, Между и множества других.
Нажмите кнопку «Просмотр» в верхней части окна конструктора, чтобы посмотреть, как ваш опрос будет выглядеть на компьютере. Если вы хотите проверить свой опрос, введите ответы на вопросы в режиме предварительного просмотра и нажмите кнопку «Отправить».
Щелкните «Мобильный», чтобы посмотреть, как ваш опрос будет выглядеть на мобильном устройстве.
По завершению предварительного просмотра опроса нажмите кнопку «Назад».
В OneDrive
Важно: В ближайшее время будет отменена программа опроса Excel. Хотя существующие опросы, созданные в OneDrive с помощью > Excel, будут работать, но при создании опросов используйте Microsoft Forms.
В верхней части экрана нажмите Создать, а затем выберите пункт Опрос Excel.
Появится форма, на основе которой можно создать опрос.
Советы для создания опроса Excel
Вы можете добавить опрос в существующую книгу. Открыв книгу в Excel в Интернете, перейдите на главная и в группе «Таблицы» щелкните «Опрос > «Новый опрос». В книгу добавится лист опроса.
Заполните поля Введите название и Введите описание. Если вам не нужны название и описание, удалите замещающий текст.
Перетащите вопросы вверх или вниз, чтобы изменить их порядок в форме.
Если вы хотите просмотреть файл в том виде, в котором его увидят получатели, нажмите Сохранить и просмотреть. Чтобы продолжить редактирование, нажмите Изменить опрос. Закончив, нажмите Предоставить доступ к опросу.
Если нажать кнопку «Закрыть»,вернуться к редактированию и просмотру формы можно на домашней > вExcel в Интернете.
Выбрав команду Опубликовать опрос, вы запустите процесс создания ссылки на форму. Нажмите Создать, чтобы создать ссылку. Скопируйте ссылку и вставьте в письмо, сообщение или запись блога. Перейдя по ней, любой пользователь сможет заполнить вашу форму, но если вы не предоставили разрешение, он не увидит книгу с общими результатами.
Создание эффективной формы для опроса
Добавляя вопросы в форму, помните, что каждый из них соответствует столбцу на листе Excel.
Продумайте, как использовать результаты опроса, собранные на листе. Например, если вы предоставите пользователям список готовых ответов и они не будут вводить свои варианты, это позволит вам сортировать и фильтровать ответы.
Для этого перейдите на вкладку Главная > Опрос > Редактировать опрос и щелкните вопрос, который необходимо изменить. Укажите тип Выбор для параметра Тип отклика и разместите каждый вариант ответа в отдельной строке в поле Варианты выбора.
Вы также можете использовать другие типы ответов.
Типы Дата или Время позволяют сортировать результаты в хронологическом порядке.
Для ответов типа Число можно использовать вычисление при помощи математических функций, чтобы получить итоговые и средние значения.
Можно также использовать ответы типа Да/Нет, чтобы быстро узнать отношение респондентов к определенному вопросу.
Примечание: По мере того как вы добавляете вопросы в форму опроса, в электронной таблице создаются столбцы. Изменения, внесенные вами в форму опроса, отражаются в электронной таблице, кроме случаев, когда вы удалили вопрос или изменили порядок вопросов в форме. В этих ситуациях вам придется обновить таблицу вручную: удалите столбцы, которые соответствуют удаленным вопросам, или измените порядок столбцов с помощью вырезания и вставки.
Как создать форму ввода данных в Excel
Форма ввода данных — это форма, которая помогает вводить данные с помощью формы, в которой можно добавлять данные, выполнять поиск и удалять предыдущие данные. Ввод данных в Excel без форм может занять очень много времени. При выполнении ввода данных без форм в Excel возникает множество двух основных проблем:
- Отнимает много времени: без форм данные необходимо вводить в одну ячейку за раз, затем переходить к следующей ячейке и вводить данные для этой ячейки и так далее. Иногда из-за путаницы пользователю может потребоваться прокрутить страницу вверх и посмотреть, в каком столбце она находится и какие данные необходимо ввести, а затем вернуться к текущей позиции. Аналогично, в случае, когда пользователю нужно прокрутить вправо, а затем вернуться к началу.
- Подвержен ошибкам: при наличии огромного набора данных, для ввода которого в форму требуется 100 записей. В этом случае может возникнуть вероятность того, что пользователь непреднамеренно введет неправильные данные в ячейку.
Ввод данных с помощью форм в Excel помогает преодолеть все эти ограничения и делает задачу ввода данных менее трудоемкой и менее подверженной ошибкам. В этой статье давайте рассмотрим, как создать форму ввода данных в Excel.
Добавление опции формы ввода данных на панель быстрого доступа:
Шаг 1: Чтобы добавить опцию Формы ввода данных на панель быстрого доступа. Сначала щелкните правой кнопкой мыши на любом из существующих значков на панели быстрого доступа. Затем нажмите “Настроить панель быстрого доступа …”
Шаг 2: В поле “Параметры Excel” выберите “Все команды” в разделе “Выбрать команды из”.
Шаг 3: Выберите “Форма…” из списка команд, затем нажмите “Добавить>>”, а затем нажмите «Ок».
Шаг 4: Теперь значок формы добавлен на панель быстрого доступа.
Использованию формы ввода данных в Excel
Шаг 1: Выберите любую ячейку из любого столбца, а затем щелкните значок “Форма”.
Шаг 2: После этого, чтобы добавить новую строку, нажмите на “Создать” в поле Sheet1.
Шаг 3: Затем добавьте имя, возраст и класс, а затем нажмите Закрыть.
Теперь добавлена наша строка.
Чтобы найти следующие данные — выполните следующие действия, чтобы найти следующее вхождение требуемых данных —
Шаг 1: Выберите любую ячейку из любого столбца, а затем щелкните значок “Форма”.
Шаг 2: Нажмите “Найти далее” в поле Sheet1.
Чтобы найти предыдущие данные: выполните следующие действия, чтобы найти предыдущее вхождение требуемых данных —
Шаг 1: Выберите любую ячейку из любого столбца, а затем щелкните значок “Форма”.
Шаг 2: Нажмите “Найти предыдущую версию” в поле Sheet1.
Чтобы удалить строку: Выполните следующие действия для удаления строки:
Шаг 1: Выберите любую ячейку из любого столбца, а затем щелкните значок “Форма”.
Шаг 2: Нажмите на “Удалить” в поле Sheet1.
Шаг 3: Нажмите Ok в окне Microsoft Excel.
Шаг 4: Выбранная строка удаляется.
Чтобы получить весь набор данных, используя заданный набор критериев: выполните следующие действия, чтобы удалить строку —
Шаг 1: Выберите любую ячейку из любого столбца, а затем щелкните значок “Форма”.
Шаг 2: Нажмите на “Критерии” в поле Sheet1.
Шаг 3: Критерии используются для получения требуемого набора данных, а затем используйте “Найти предыдущий” или “Найти следующий”, чтобы получить предыдущее значение или следующее значение этого критерия.
Как создается электронная анкета средствами VBA Excel
Разберем решение еще одной практической ситуации — заполнение электронного бланка анкеты. Сам разрабатываемый лист будет достаточно насыщен элементами управления, поэтому здесь мы рассмотрим оформление листа последовательно.
Начнем разработку (рис. 2.12) с небольших деталей. Так, заполним три ячейки в столбце В поясняющей информацией, а для трех соответствующих ячеек в столбце С необходимо лишь подобрать соответствующее форматирование — заливку и размер шрифта. В дальнейшем в процессе работы с этим бланком пользователь будет вносить в ячейку С2 фамилию, в С4 — имя, а в С6 — отчество. Теперь, как и в предыдущих книгах, следует убрать сетку с рабочего листа.
Рис. 2.12. Верхняя часть электронной анкеты
На рис. 2.12 в правой части расположено три элемента управления: текстовое окно и группа из двух переключателей. Мы уже рассматривали пример, связанный с функционированием переключателей. Этот элемент управления позволяет обеспечить два состояния: «включено» и «выключено». Идея использования двух подобных элементов на нашем листе достаточно простая. А именно, человек, который заполняет бланк, указывает (щелчком на одном из переключателей) один из двух вариантов:
- Н. Новгород;
- Другой город.
В случае выбора варианта Другой город следует указать, какой именно. Это производится в соседнем текстовом окне справа. Понятно, что рассматривается ситуация, когда большинство людей, заполняющих бланк, проживает в Нижнем Новгороде. Зададим значения свойства Name элементов на рис. 2.12 следующим образом:
- Opt1 (переключатель Н. Новгород);
- 0pt2 (переключатель Другой город);
- City (текстовое окно для ввода названия города).
В начальном варианте (при открытии книги) по умолчанию установлен вариант Н. Новгород (это выполняется в окне свойств, где следует установить True в качестве значения свойства Value). При этом текстовое окно для выбора города должно быть невидимым. Для этого в окне свойств для свойства Visible объекта City необходимо установить значение False.
При щелчке на переключателе Другой город текстовое окно City становится видимым, а при щелчке на переключателе с подписью Н. Новгород опять пропадает. Сами тексты процедур обработки щелчков на переключателях, обеспечивающих подобный эффект, приведены в листинге 2.17.
В дальнейшем мы обеспечим программную установку значений свойства Value переключателей и значения свойства Visible текстового окна City.
‘Листинг 2.17. Процедуры обработки щелчков ‘ на переключателях для выбора города Private Sub Opt1_Click() City.Visible = False End Sub Private Sub Opt2_Click() City.Visible = True End Sub
Подчеркнем один важный технический момент. Мы расположили два переключателя, которые связаны друг с другом. При щелчке на одном из них значение свойства Value другого автоматически становится False. Далее на нашем рабочем листе мы расположим еще одну группу переключателей, которая фиксирует категорию анкетируемого (учащийся или специалист). Для того чтобы группы переключателей правильно работали, необходимо подчеркнуть, какие из них к какой группе относятся. Для этого необходимо значения свойства GroupName для переключателей, связанных с городами, сделать одинаковыми (например, можно выбрать Op_city). Для других переключателей значение данного свойства должно быть другим.
Теперь можно выйти из режима конструктора и проверить работу написанных процедур. Убедившись, что все функционирует по плану, продолжим создание рассматриваемой разработки. На рис. 2.13 показана следующая группа элементов управления, которые нам необходимо добавить на том же рабочем листе. В левой части рис. 2.13 сосредоточены элементы, которые заполняются при условии, что анкетируемый является студентом. Соответственно, правая часть — для лиц, уже имеющих диплом об образовании. При этом названия Место учебы, Курс, Место работы и Примечание являются элементами управления типа «Надпись». Они введены для пояснения содержимого соседних (находящихся справа от них) текстовых окон. В связи с тем, что эти надписи программно в дальнейшем не используются, имена этих объектов мы не приводим.
Рис. 2.13. Нижняя часть электронной анкеты
Переключатели Студент (Name — St) и Специалист (Name — Sp) относятся к одной группе переключателей, отличной от группы переключателей, используемых для выбора городов. Теперь поясним, как они будут использоваться.
Так, при выборе категории Студент видимыми становятся текстовые окна для заполнения полей анкеты Место учебы (Name — Place) и Курс (Name — Kyrs), а текстовые окна для заполнения полей Место работы (Name — Work) и Примечание (Name — Prim) становятся невидимыми. Соответственно, при выборе категории Специалист все наоборот — видимыми становятся текстовые окна, которые должен заполнить специалист. В нижней части листа на рис. 2.13 располагаются три флажка — это простые элементы управления, в функциональном плане похожие на переключатели. Основное используемое свойство флажка — Value, которое принимает два возможных значения: False и True.
Теперь можно сказать, что мы рассмотрели функциональное назначение элементов на листе электронной анкеты. Перейдем к программным процедурам.
Как уже говорилось, при открытии книги по умолчанию необходимо сделать выбор на вариантах Н.Новгород и заполнении анкеты студентом. Это лучше реализовать в процедуре Workbook_Open (листинг. 2.18).
На панели элементов ActiveX (см. рис. 1.24) пиктограмма элемента управления «Флажок» третья слева.
‘ Листинг 2.18. Процедура, выполняемая при открытии книги PPrivate Sub Workbook_Open() Worksheets(1).Opt1.Value = True Worksheets(1).Opt2.Value = False Worksheets(1).City.Visible = False Worksheets(1).St.Value = True Worksheets(1).Place.Visible = True Worksheets(1).Place.Text = "" Worksheets(1).Kyrs.Visible = True ‘ По умолчанию рассматривается студент первого курса Worksheets(1).Kyrs.Text = "1 " Worksheets(1).Work.Visible = False Worksheets(1).Work.Text = "" Worksheets(1).Prim.Visible = False Worksheets(1).Prim.Text = "" Worksheets(1).Engl.Value = False Worksheets(1).Auto.Value = False Worksheets(1).Info.Value = False End Sub
Из текста листинга 2.18 видно, что для флажков значения свойства Name установлены следующим образом:
- Eng1 — знание английского языка;
- Auto — умение управлять автомобилем;
- Info — навыки работы на компьютере.
В результате мы обеспечили автоматическую установку начальных значений при открытии книги. Действие переключателей Студент и Специалист мы уже прокомментировали, и теперь приведем программные процедуры обработки щелчков мышью на них (листинг 2.19).
‘ Листинг 2.19. Процедуры, выполняемые по щелчкам на переключателях Sp и St Private Sub St_Click() Place.Visible = True Kyrs.Visible = True Work.Visible = False Prim.Visible = False End Sub Private Sub Sp_Click() Place.Visible = False Kyrs.Visible = False Work.Visible = True Prim.Visible = True End Sub
Таким образом, мы обеспечили необходимый интерфейс ввода информации на первом рабочем листе книги. Заполненный вариант анкеты представлен на рис. 2.14.
Рис. 2.14. Заполненная форма анкеты
Далее будем считать, что информацию с первого листа следует записать в базу данных — на второй лист (рис. 2.15). Здесь для данных по каждому анкетируемому отводится по одной строке. И по щелчку на кнопке Записать на 2-й лист (см. рис. 2.14) информация анкеты переписывается в очередную свободную строку второго листа. В листинге 2.20 приводится текст данной процедуры. Как вы уже заметили, из названия процедуры следует, что для свойства Name кнопки установлено значение WriteList.
Рис. 2.15. Представление информации на втором листе книги
‘ Листинг 2.20. Процедура, выполняемая при щелчке на кнопке Записать на 2-й лист Private Sub WriteList_Click() ‘ Подсчет количества имеющихся записей на втором листе N = 0 While Worksheets(2).Cells(N + 2, 1).Value <> "" N = N + 1 Wend ‘ Запись порядкового номера в первый столбец Worksheets(2).Cells(N + 2, 1).Value = N + 1 ‘ Копирование фамилии, имени отчества Worksheets(2).Cells(N + 2, 2).Value = Range("C2") Worksheets(2).Cells(N + 2, 3).Value = Range("C4") Worksheets(2).Cells(N + 2, 4).Value = Range("C6") ‘ Название города располагается в пятом столбце на втором листе If Opt1.Value = True Then Worksheets(2).Cells(N + 2, 5).Value = "H.Новгород" Else Worksheets(2).Cells(N + 2, 5).Value = City.Text End If ‘ Статус в шестом столбце, место работы или учебы в седьмом, ‘ примечание в восьмом столбце. If St.Value = True Then Worksheets(2).Cells(N + 2, 6).Value = "студент" Worksheets(2).Cells(N + 2, 7).Value = Place.Text Worksheets(2).Cells(N + 2, 8).Value = Kyrs.Text Else Worksheets(2).Cells(N + 2, 6).Value = "спец. с в/о" Worksheets(2).Cells(N + 2, 7).Value = Work.Text Worksheets(2).Cells(N + 2, 8).Value = prim.Text End If ‘ Характеристики человека, зафиксированные во флагах If Eng1.Value = True Then Worksheets(2).Cells(N + 2, 9).Value = "Да" Else Worksheets(2).Cells(N + 2, 9).Value = "Нет" End If If Auto.Value = True Then Worksheets(2).Cells(N + 2, 10).Value = "Да" Else Worksheets(2).Cells(N + 2, 10).Value = "Нет" End If If Info.Value = True Then Worksheets(2).Cells(N + 2, 11).Value = "Да" Else Worksheets(2).Cells(N + 2, 11).Value = "Нет" End If End Sub
Теперь все процедуры готовы, и можно поработать с созданной электронной анкетой. Понятно, что данная разработка не включает многие детали, которые в каждой практической ситуации накладывают свои требования. Однако в этой статье и не ставилась цель создать что-то универсальное. Гораздо важнее на рассмотренных примерах получить навыки, необходимые для выполнения самостоятельных разработок.