Циклічні елементи керування в Excel VBA - Прості макроси Excel

Зміст

За допомогою всього декількох рядків коду ми легко це зробимо циклічний контроль на Форма користувача Excel VBA. Форма користувача, яку ми збираємось створити, виглядає так:

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

1. Відкрийте редактор Visual Basic. Якщо Провідник проектів не відображається, натисніть Перегляд, Провідник проектів.

2. Натисніть Вставити, форма користувача. Якщо панель інструментів не з'являється автоматично, натисніть Перегляд, Панель інструментів. Ваш екран слід налаштувати, як показано нижче.

3. Додайте ярлик, прапорці (спочатку зверху, другий під першим тощо) та командну кнопку. Як тільки це буде завершено, результат повинен відповідати зображенню Userform, показаному раніше. Наприклад, створіть елемент прапорця, натиснувши CheckBox у панелі інструментів. Далі можна перетягнути прапорець у формі користувача.

4. Ви можете змінити назви та підписи елементів керування. Імена використовуються у коді Excel VBA. Підписи - це ті, які з’являються на екрані. Змінювати назви елементів керування є хорошою практикою, але це не обов’язково, оскільки в цьому прикладі ми маємо лише кілька елементів керування. Щоб змінити заголовок форми користувача, ярлик, прапорці та командна кнопка, натисніть «Перегляд», «Вікно властивостей» і клацніть на кожному елементі керування.

5. Щоб відобразити Userform, розмістіть на робочому аркуші командну кнопку та додайте такий кодовий рядок:

Приватна підкомандаButton1_Click ()
UserForm1.Show
End Sub

Тепер ми створили першу частину Userform. Хоча це вже виглядає акуратно, нічого не відбудеться, коли ми натиснемо кнопку Очистити.

6. Відкрийте редактор Visual Basic.

7. У Провіднику проектів двічі клацніть UserForm1.

8. Двічі клацніть кнопку «Очистити».

9. Додайте такі рядки коду:

Приватна підкомандаButton1_Click ()
Dim contr Як контроль
Для кожного контуру у UserForm1.Controls
Якщо TypeName (contr) = "CheckBox" Тоді
contr.Value = Неправда
Закінчити Якщо
Далі
End Sub

Пояснення: Excel VBA перебирає всі елементи керування у формі користувача. Функція TypeName використовується для фільтрації елементів керування прапорцями. Якщо прапорець керує, Excel VBA знімає прапорець. contr тут вибирається випадковим чином, ви можете використовувати будь -яке ім’я. Не забувайте посилатися на це ім’я в решті коду.

Результат, коли ви натискаєте кнопку Очистити:

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave