VBA Закрити форму користувача | Топ 2 методів, щоб закрити форму користувача на прикладах

Коли ми робимо форму користувача, вона приймає дані як вхідні дані від користувачів, але дані, що надходять у форму, не закриваються, тому це може ввести користувача в оману, щоб ввести дані знову, ми використовуємо дві різні команди, щоб закрити форму користувача, коли вхід має і це метод Unload me, щоб закрити форму користувача, або ми можемо використовувати метод userform.hide.

Excel VBA Закрити форму користувача

Користувальницькі форми є життєво важливими під час отримання вхідних даних від користувача в рамках проекту VBA. Зазвичай ми розробляємо форму користувача, перш ніж представляти її перед користувачем. Після завершення проектування форми користувача VBA нам потрібно показати те саме перед користувачем і вимагати кодування VBA. Так само для закриття форми користувача потрібні знання кодування VBA.

У цій статті ми покажемо, як закрити форму користувача у кодуванні VBA.

Як закрити форму користувача в Excel VBA?

Після того, як мета форми користувача виконана, є сенс продовжувати показувати форму користувача перед користувачем, тому нам потрібно закрити форму користувача. Ми можемо закрити форму користувача, використовуючи оператори “Вивантажити мене” та “UserForm.Hide”. Хоча обидва вони трохи відрізняються один від одного, це врешті-решт послужить нашій меті.

Ви можете завантажити цей шаблон VBA Close UserForm Excel тут - VBA Close UserForm Excel Template

№1 - Закрийте форму користувача, використовуючи заяву «Вивантажити мене» у VBA

Наприклад, подивіться зображення зображення користувача нижче.

Я назвав форму користувача як "MyUserForm".

Якщо я запущу форму користувача, ми побачимо форму користувача, як показано нижче.

Мені потрібно заповнити необхідні дані, як тільки інформація, заповнена, якщо я натисну кнопку «Надіслати», вона захопить ті самі дані на робочий аркуш, який видно зліва.

Після натискання кнопки "Відправити" він захоплює дані, які я ввів у форму користувача.

Якщо ви помітили, у нас є ще одна кнопка під назвою “Скасувати”. Що це робить?

Перш ніж відображати форму користувача, нам потрібно налаштувати цю кнопку. Тепер я повернуся до редактора visual basic, щоб налаштувати цю кнопку.

Тепер я двічі клацну на кнопку Скасувати, і вона відкриє автоматичний підпроцедуру VBA, як показано нижче.

У цій процедурі нам потрібно написати код VBA про те, що має статися, якщо ми натиснемо кнопку Скасувати. Коли ми натискаємо цю кнопку скасування, вона повинна закрити форму користувача, над якою ми працюємо на даний момент.

Отже, напишіть код як “Вивантажити мене”.

Код:

 Private Sub CancelButton_Click () Unload Me End Sub 

«Вивантажити мене» - це слово, яке ми використовуємо, щоб закрити форму користувача, над якою ми працюємо. Тут форма користувача розпізнає слово «Я» як саму форму користувача.

“Вивантажити мене” можна використовувати лише в цій процедурі форми користувача, ми не можемо викликати це твердження в інших модулях. Якщо його викликати, повідомлення про помилку відображатиметься як « Недійсне використання ключового слова Me ».

Гаразд, давайте запустимо код за допомогою клавіші F5 або вручну зараз, ми побачимо пусту форму користувача.

Заповніть дані та натисніть Надіслати.

Після натискання кнопки надсилання значення зберігатимуться у згаданих клітинках.

Якщо введення даних зроблено, нам потрібно закрити форму користувача, чи не так ??

Отже, натисніть кнопку Скасувати, щоб закрити форму користувача, вона закриє форму користувача.

# 2 - Закрийте UserForm за допомогою методу Hide в Excel VBA

Ми також можемо закрити Userform, використовуючи метод "Hide", а також у VBA. Тепер ще раз я двічі клацну на кнопку скасування, щоб побачити приватний підпроцедуру.

Оскільки ми вже написали код, щоб закрити форму користувача, ми можемо побачити існуючий код у VBA. Зараз я видалю це.

Для використання методу Hide нам потрібно викликати форму користувача за її іменем. У цьому випадку ім’я нашої форми користувача - „MyUserForm”.

Згадавши форму користувача за її назвою, якщо ми поставимо крапку (.), Ми побачимо всі властивості та методи цієї форми користувача. Зараз я оберу метод «Приховати».

Добре, давайте ще раз запустимо форму користувача. Ми побачимо пусту форму користувача, спочатку заповніть деталі.

Тепер без натискання кнопки «Надіслати» я натисну кнопку «Скасувати», вона приховає форму користувача.

Різниця між вивантаженням та приховуванням у Excel VBA

У вас повинно виникнути запитання, в чому різниця між "Вивантажити і сховати", де обидва мають однакові цілі. Між цими двома є різниця. Тепер спочатку я буду використовувати оператор Unload Me. Подивіться на зображення нижче.

Я ввів дані у форму користувача, але ще не надіслав їх. Якщо я натисну скасувати, це розвантажить форму користувача.

Тепер я знову запустим код за допомогою комбінації клавіш Excel Excel F5 або вручну, він відобразить пусту форму користувача.

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

Зараз я скористаюся методом «Приховати».

Ні, я натисну кнопку скасування, вона приховає видиму форму користувача. Але коли я повторно запущу макрос, він повернеться з даними, які я вже ввів у форму користувача.

Ось як ми можемо використовувати оператор “Вивантажити” та метод “Приховати”, щоб закрити форми користувача у Excel VBA.