Добавить в корзинуПозвонить
Найти в Дзене
Макрос решает

Создание формы ввода данных в Excel VBA: Полный гайд с примером базы и макросами

Научитесь создавать форму ввода данных на VBA в Excel: от базы курсов до мультистраничной формы. В статье — пошаговая инструкция, макросы, шаблон и гайд. Пользовательские формы в Excel — это мощный инструмент для работы с данными. Они позволяют: Сегодня мы создадим полноценную форму ввода данных, связанную с таблицей курсов: название, описание, цена, категория. Всё — через удобный интерфейс, построенный на UserForm. В статье: 🧩 Все примеры макросов уже встроены в файл, который можно скачать — ссылка в конце статьи и в Telegram-канале. На листе Excel у нас будет следующая структура: Это обычная таблица, начинающаяся с A1. Мы будем добавлять строки в конец с помощью формы. Открываем редактор VBA (Alt + F11): На первой вкладке разместим поля для ввода: На второй — можно будет реализовать функции поиска и редактирования. 📌 В списке cmbCategory можно заранее задать значения: │ Private Sub UserForm_Initialize()
│ * With cmbCategory*
│ * .AddItem "Аналитика"*
│ * .AddItem "Программирование"
Оглавление

Научитесь создавать форму ввода данных на VBA в Excel: от базы курсов до мультистраничной формы. В статье — пошаговая инструкция, макросы, шаблон и гайд.

Как создать полноценную форму ввода данных в Excel с помощью VBA

Введение

Пользовательские формы в Excel — это мощный инструмент для работы с данными. Они позволяют:

  • организовать ввод и редактирование информации;
  • минимизировать ошибки пользователя;
  • автоматизировать рутинные действия с базами данных.

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

В статье:

  • создадим форму на VBA с элементами ввода;
  • свяжем её с базой данных;
  • добавим проверку и сохранение данных;
  • дадим ссылку на готовый шаблон и гайд по установке.

🧩 Все примеры макросов уже встроены в файл, который можно скачать — ссылка в конце статьи и в Telegram-канале.

1. Исходная база данных

На листе Excel у нас будет следующая структура:

Это обычная таблица, начинающаяся с A1. Мы будем добавлять строки в конец с помощью формы.

2. Создаём форму UserForm с несколькими вкладками

Открываем редактор VBA (Alt + F11):

  1. Вставляем новую форму: Insert → UserForm;
  2. Добавляем элемент MultiPage — он позволяет создать несколько вкладок внутри одной формы.

На первой вкладке разместим поля для ввода:

  • ID (Label + TextBox)
  • Название курса (Label + TextBox)
  • Описание (Label + TextBox)
  • Цена (Label + TextBox)
  • Категория (Label + ComboBox)

На второй — можно будет реализовать функции поиска и редактирования.

3. Настраиваем элементы

  1. Выравниваем Label по правому краю (TextAlign = fmTextAlignRight)
  2. Даём имена полям:
  • txtID
  • txtTitle
  • txtDescription
  • txtPrice
  • cmbCategory

📌 В списке cmbCategory можно заранее задать значения:

Private Sub UserForm_Initialize()
│ * With cmbCategory*
│ * .AddItem "Аналитика"*
│ * .AddItem "Программирование"*
│ * .AddItem "Дизайн"*
│ * .AddItem "Менеджмент"*
│ * End With*
End Sub

4. Код VBA для добавления новой записи

При нажатии кнопки "Добавить", данные из полей формы записываются в конец таблицы:

Private Sub btnAdd_Click()
│ * Dim lastRow As Long*
│ * lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row + 1*
│ * Sheet1.Cells(lastRow, 1).Value = txtID.Value*
│ * Sheet1.Cells(lastRow, 2).Value = txtTitle.Value*
│ * Sheet1.Cells(lastRow, 3).Value = txtDescription.Value*
│ * Sheet1.Cells(lastRow, 4).Value = txtPrice.Value*
│ * Sheet1.Cells(lastRow, 5).Value = cmbCategory.Value*
│ * MsgBox "Запись добавлена", vbInformation*
End Sub

📍 Добавьте кнопку "Добавить" (CommandButton) и в свойствах назовите её btnAdd.

-2

5. Проверка заполнения перед сохранением

Чтобы избежать пустых строк:

If txtTitle.Value = "" Or txtPrice.Value = "" Then
│ * MsgBox "Пожалуйста, заполните все обязательные поля"*
│ * Exit Sub*
End If

Вставьте проверку перед сохранением.

6. Запуск формы с кнопки на листе

На листе Excel вставьте фигуру (вкладка Вставка → Фигуры → Прямоугольник). Назовите её "Добавить курс". Назначьте макрос:

Sub ShowForm()
│ * UserForm1.Show*
End Sub

Заключение

Вы создали настоящую форму ввода с мультистраничным интерфейсом. Она полностью рабочая: добавляет записи в таблицу, проверяет ввод и оформлена по всем правилам Excel UI.

📥 Скачайте готовый файл с макросами, формой и примером базы данных в Telegram.

📢 Подписывайтесь на наш канал в Дзене, чтобы не пропустить следующие материалы.