Як використовувати елементи керування VBA у формах користувача

У цій статті буде показано, як використовувати елементи керування в UserForms у Excel VBA.

VBA має можливість створювати форми, з якими користувач може взаємодіяти, наприклад, форми рахунків -фактур або контактні дані. Форма може містити різноманітні елементи керування формами, такі як текстові поля, поля зі списком, поля зі списками та кнопки команд. У цій статті будуть розглянуті найпопулярніші елементи керування, що використовуються у формах користувача, а саме текстові поля, мітки, комбіновані поля, списки, прапорці та групи опцій.

Щоб дізнатися більше про вбудовані форми користувача та створення власних форм користувача в Excel, натисніть тут.

Створення UserForm

Щоб створити UserForm у Excel VBA, нам спочатку потрібно відкрити Редактор VBE.

Щоб вставити нову форму користувача у свій код, виберіть UserForm у меню "Вставка".

Нова форма користувача з'явиться у Провідник проектів і буде показано у вікні коду праворуч.

Ви можете перейменувати форму за допомогою Властивості коробка. Це повинно відображатися під вашим Провідник проектів.

Якщо це видно, натисніть F4 або клацніть Перегляд, Вікно властивостей.

Натисніть на Назва власності та перейменуйте форму.

Тепер ми можемо почати заповнювати нашу форму елементами керування - елемент керування текстовим полем є найпопулярнішим елементом керування разом з елементом керування мітками та кнопкою команди.

Щоб заповнити форму елементами керування, нам потрібно увімкнути панель інструментів.

В Меню, виберіть Перегляд> Панель інструментів.

Створення текстового поля

Щоб створити текстове поле у ​​формі, виберіть елемент керування Текстове поле у ​​наборі інструментів.

Перетягніть форму вікна на формі за допомогою миші, утримуючи ліву кнопку натиснутою, а потім відпустіть кнопку миші.

Оскільки це перше текстове поле, яке ми створюємо, воно матиме назву TextBox1. Як і у випадку з формою, ви можете використовувати вікно Властивості для перейменування текстового поля.

Ми можемо продовжувати створювати стільки текстових полів у нашій формі, скільки нам потрібно, і назвати їх відповідно, використовуючи властивість Name у вікні властивостей.

Створення елемента керування міткою

Елемент керування міткою повідомляє нам, що текстове поле буде використовуватися для утримання. Ви перетягуєте форму так само, як це робите для текстового поля, а потім можете ввести необхідний текст у елементі керування міткою, наприклад: Ім'я, як показано нижче.

Як і у випадку з текстовими полями, продовжуйте створювати стільки, скільки потрібно у формі.

Створення елемента керування Combo Box

Комбіноване вікно (або розкривне вікно) дозволяє користувачеві вибирати зі списку значень. Щоб створити поле зі списком, клацніть на панелі інструментів на елементі керування Combo Box, а потім клацніть і перетягніть поле зі списком у формі.

Назвіть Combo Box відповідним чином.

Додавання значень у поле зі списком

Щоб заповнити його значеннями, нам потрібно закодувати в Ініціалізувати метод об'єкта "Форма користувача".

Щоб перейти до коду за формою (CBF), двічі клацніть на формі або натисніть кнопку коду в Провіднику проектів, щоб перейти до перегляду коду.

У спадному списку ліворуч виберіть Форма користувача, а потім у спадному списку праворуч виберіть Ініціалізувати.

Введіть такий код у Sub та End Sub, щоб заповнити спадне вікно:

1234 Me.cboState.AddItem "Алабама"Me.cboState.AddItem "Аляска"Me.cboState.AddItem "Арізона"Me.cboState.AddItem "Арканзас"

Ми, звичайно, можемо продовжити заповнення списку з іншими штатами США!

Щоб запустити форму користувача, щоб побачити список у дії, 1) поверніться до перегляду форми, а потім 2) на панелі інструментів натисніть на Біжи кнопку.

Натисніть на стрілку спадного меню, щоб побачити список.

Ми також можемо використовувати діапазон у Excel для заповнення вікна зі списком.

123456 Приватний підкористувач UserForm_Initialize ()Зменшити діапазон як діапазонДля кожного дзвінка в діапазоні ("A1: A50")Me.cboState.AddItem rng.ValueНаступний дзвінокEnd Sub

Це дозволить зібрати будь -які значення, збережені в діапазоні від A1 до A50, і відповідно заповнити випадаючий список.

Створення елемента керування списку

Елемент керування List Box працює так само, як елемент керування Combo Box, але дозволяє нам бачити всі параметри у формі у форматі списку.

Виберіть елемент керування List Box у панелі інструментів, а потім перетягніть, щоб створити поле зі списком у формі.

Втомилися від пошуку прикладів коду VBA? Спробуйте AutoMacro!

Додавання значень до списку

У події Initialize форми введіть такий код:

123456 Приватний підкористувач UserForm_Initialize ()Зменшити діапазон як діапазонДля кожного дзвінка в діапазоні ("A1: A50")Me.lstState.AddItem rng.ValueНаступний дзвінокEnd Sub

Коли ми запускаємо форму, вікно списку буде показано, як показано на зображенні нижче:

Створення елемента керування прапорцем

Прапорці дозволяють користувачеві встановити або зняти прапорець.

Установіть прапорець прапорця, а потім клацніть у формі, куди ви бажаєте його перейти.

Змініть підпис і назву прапорця у вікні властивостей.

Створення елементів керування групами опцій за допомогою кнопок опцій

Група опцій дозволяє користувачеві вибирати з кількох доступних опцій. Перший крок у створенні групи параметрів - це додати до форми фреймворк, а потім додати кнопки опцій у доданий кадр. Роблячи це, ми гарантуємо, що під час запуску форми за один раз можна вибрати лише одну з кнопок опцій у кадрі.

Виберіть елемент керування "Кадр" у панелі інструментів, а потім перетягніть, щоб створити рамку у формі.

Виберіть елемент керування кнопкою опцій у наборі інструментів, а потім натисніть ВВЕРХ у рамку, створену вище, щоб додати кнопку опції до рамки. Повторіть за потреби.

Натисніть на кадр і 1) змініть назву кадру та підпис. Потім 2) натисніть на кожну з кнопок опцій та змініть Заголовок.

Створення кнопки команди для виходу з форми

На цьому етапі єдиним способом закриття форми є використання кнопки закриття у правому куті панелі керування формою. Більш ефективний спосіб виходу з форми, і той, над яким ми маємо більший контроль, - це створення кнопки Вихід у формі. Це робиться за допомогою елемента керування кнопками команд у панелі інструментів.

Виберіть елемент керування Кнопка команди, а потім клацніть і перетягніть у формі, щоб створити кнопку.

Використовуючи властивість підпису, змініть підпис командної кнопки на OK, а прискорювач на “O”

Прискорювач призначений для того, щоб користувач у цьому випадку за допомогою клавіатури активував кнопку Alt+O буде активувати кнопку.

Чудовий продукт. AutoMacro не просто пише ваш код, він навчає вас у ході! " - Тоні, Великобританія

Вчи більше

Прочитайте наші 900+ оглядів

Додавання коду до кнопки Command

Щоб кнопка команди запрацювала, нам потрібно додати за нею код, щоб при натисканні на кнопку код запускався. Це називається подією натискання кнопки.

Щоб перейти до події кліку, двічі клацніть на кнопку у вікні конструктора форми.

1) Подія Click буде створена автоматично, оскільки це подія, яка найчастіше використовується для командних кнопок.

2) Якби ми натиснули у спадному списку Процедура праворуч, ми побачили б список усіх методів подій, доступних для кнопки Command. Цей список змінюється відповідно до того, який тип елемента керування ми створили, оскільки для різних типів елементів керування доступні різні події.

Введіть наступний код у подію клацання кнопки команди.

123456789101112131415 Приватний саб cmdOK_Click ()Діапазон ("E1") = Me.txtFirstnameДіапазон ("E2") = Me.txtSurnameДіапазон ("E3") = Me.txtCellPhoneДіапазон ("E4") = Me.cboStateЯкщо Me.ckContactInfo = True ТодіДіапазон ("E5") = "SMS дозволено"ІнакшеДіапазон ("E5") = "SMS не дозволено"Закінчити ЯкщоЯкщо Me.opt1.Value = Істина, то Діапазон ("E6") = Me.opt1.CaptionЯкщо Me.opt2.Value = Правда, то діапазон ("E6") = Me.opt2.CaptionЯкщо Me.opt3.Value = Істина, то Діапазон ("E6") = Me.opt3.CaptionРозвантажте менеEnd Sub

Потім ми можемо запустити форму, заповнити текстові поля та вибрати зі спадного списку. Потім натискаємо OK, щоб ввести інформацію в Excel.

wave wave wave wave wave