До змісту
Цикл · 3 / 5 #vba#userform#excel

Форма звірки: від кнопки до готового інструмента

devGhostUa 06.10.2026 12 хв читання рівень ●●○
Коротко, якщо нема часу
  • Форма читає довідники зі смарт-таблиць
  • Перевіряє дані до запуску, а не після
  • Пише результат одним масивом — швидко

Відкрий редактор (Alt+F11 ) і додай нову форму. Дані беремо зі смарт-таблиціДіапазон з іменем, що сам розширюється. Детальніше → , а не з діапазону A1:D500 — так макрос не зламається, коли рядків стане більше.1

✶
ПорадаДай кнопкам на формі гарячі клавіші через властивість Accelerator.
i
НотаткаКод працює з Excel 2016 і новішими.
!
УвагаПеред тестом зроби копію файлу — макроси не мають «Скасувати».
✕
НебезпекаНе тестуй на робочих даних з персональною інформацією.
Привид кажеЯкщо форма відкривається довше секунди — ти щось читаєш поклітинно. Перепиши на масив.

Крок 2. Перевірка на вході

Перевір, що аркуш існує
Інакше — повідомлення й вихід, без падіння.
Перевір стовпці смарт-таблиці
Назви — з аркуша «Налаштування», не з коду.
Лише тоді — основна логіка
● frmReconcile.frm
Private Sub StartButton_Click()
    ' 1.0 Перевірка на вході
    If Not IsSheetExists(name_SourceSheet) Then Exit Sub
    Set sourceTable = Application.Range(name_SourceTable).ListObject
End Sub
✕ Так не требаCells(i, 2).Value = … — поклітинно в циклі, повільно
✓ Так кращеtargetRange.Value = dataArray — одним масивом, миттєво

Як вибрати спосіб

Спосіб 10 тис. рядків Коли брати
Поклітинно [N] с ніколи
Масивом [N] с майже завжди
Power Query [N] с регулярний імпорт
Найкращий макрос — той, після якого колега не дзвонить із питанням «а що тут натиснути».
Перед тим як віддати форму колегам
Виконано: Усі довідники — на аркуші «Налаштування»
Виконано: Помилки показуються зрозумілою мовою
Не виконано: Перевірено на копії з реальним обсягом даних
Не виконано: Файл збережено як .xlsm і розблоковано
Чому не просто формула?
Формула порахує, але не перевірить вхідні дані, не покаже прогрес і не збере документи у Word.
Код для Excel.
Код для Word.

Нова функція З v1.2 і платформа Windows.

Файл до статті: форма-звірка.xlsm · без персональних даних

  1. Детальніше про смарт-таблиці — у частині 2 циклу. ↩

Стаття допомогла?
devGhostUa