VBA Close UserForm | Топ 2 метода за затваряне на потребителска форма с примери

Когато правим потребителска форма, тя приема данни като входни данни от потребителите, но данните се предоставят на формуляра не се затварят, така че може да заблуди потребителя да въведе данни отново, ние използваме две различни команди за затваряне на потребителска форма, когато входът има са дадени и те са метод Unload me за затваряне на потребителска форма или можем да използваме метода userform.hide.

Excel VBA Close Userform

Потребителските форми са жизненоважни, докато получавате входни данни от потребителя като част от проекта VBA. Обикновено проектираме потребителския формуляр, преди да го представим пред потребителя. След като проектирането на потребителския формуляр на VBA приключи, трябва да се покаже същото пред потребителя и да се изисква кодиране на VBA. По същия начин за затваряне на потребителската форма се изискват знания за кодиране на VBA.

В тази статия ще ви покажем как да затворите потребителската форма във VBA кодиране.

Как да затворите UserForm в Excel VBA?

След като целта на потребителския формуляр е изпълнена, има смисъл да продължаваме да показваме потребителската форма пред потребителя, така че трябва да затворим потребителската форма. Можем да затворим потребителската форма, като използваме изявленията „Unload Me“ и „UserForm.Hide“. Въпреки че и двете са малко по-различни един от друг, това в крайна сметка ще служи на нашата цел.

Можете да изтеглите този шаблон на VBA Close UserForm Excel тук - VBA Close UserForm Excel Template

# 1 - Затворете Userform, използвайки изявлението „Unload Me“ във VBA

Например погледнете изображението по-долу на потребителската форма.

Посочих потребителската форма като „MyUserForm”.

Ако стартирам потребителската форма, ще видим потребителската форма, както по-долу.

Трябва да попълня необходимите данни, след като информацията се попълни, ако щракна върху бутона Изпращане, тя ще събере същите данни в работния лист, който се вижда от лявата страна.

След като щракнете върху бутона за изпращане, той улови данните, които съм въвел в потребителската форма.

Ако забележите, имаме още един бутон, наречен „Отказ“. Какво прави това?

Преди да покажем потребителската форма, трябва да конфигурираме този бутон. Сега ще се върна обратно към visual basic editor, за да конфигурирам този бутон.

Сега щракнете двукратно върху бутона Отказ и той ще отвори автоматичната подпроцедура на VBA, както е показано по-долу.

В тази процедура трябва да напишем кода на VBA за това какво трябва да се случи, ако щракнем върху бутона Отказ. Когато щракнем върху този бутон за отмяна, той трябва да затвори Потребителския формуляр, по който работим в момента.

Така че, напишете кода като „Unload Me“.

Код:

 Private Sub CancelButton_Click () Unload Me End Sub 

„Unload Me“ е думата, която използваме, за да затворим потребителската форма, по която работим. Тук потребителската форма разпознава думата „Аз“ като самата UserForm.

“Unload Me” може да се използва само в тази процедура на потребителски формуляр, не можем да извикаме това изявление в други модули. Ако бъде извикан, той ще покаже съобщението за грешка като „ Невалидно използване на ключова дума за мен “.

Добре, нека стартираме кода с помощта на клавиша F5 или ръчно сега, ще видим празен потребителски формуляр.

Попълнете данните и кликнете върху Изпращане.

След като щракнете бутона за изпращане, той ще съхранява стойностите в споменатите клетки.

Ако въвеждането на данни е направено, трябва да затворим потребителската форма, нали ??

Така че, щракнете върху бутона Отказ, за ​​да затворите потребителската форма, тя ще затвори потребителската форма.

# 2 - Затворете UserForm с помощта на метода Hide в Excel VBA

Също така можем да затворим Userform, използвайки метода „Hide“, както и във VBA. Сега още веднъж щракнете двукратно върху бутона за отмяна, за да видите частната подпроцедура.

Тъй като вече сме написали кода, за да затворим потребителската форма, можем да видим съществуващия код във VBA. Сега ще изтрия това.

За да използваме метода Hide, трябва да извикаме потребителската форма с нейното име. В този случай името на нашата потребителска форма е „MyUserForm”.

След като споменем потребителската форма с нейното име, ако поставим точка (.), Можем да видим всички свойства и методи на тази потребителска форма. Сега ще избера метода “Hide”.

Добре, нека пуснем потребителската форма още веднъж. Ще видим празен потребителски формуляр, първо попълнете подробностите.

Сега, без да щракнете върху бутона Изпращане, ще щракна бутона за отмяна, той ще скрие потребителската форма.

Разлика между разтоварване и скриване в Excel VBA

Трябва да имате въпрос каква е разликата между Unload & Hide, където и двете служат за една и съща цел. Има разлика между тези две. Сега първо ще използвам изявлението Unload Me. Погледнете изображението по-долу.

Въвел съм данните в потребителската форма, но все още не съм ги изпратил. Ако щракна върху Отказ, това ще разтовари потребителската форма.

Сега отново ще стартирам кода чрез клавиш за бърз достъп на Excel F5 или ръчно, той ще покаже празна потребителска форма.

Въпреки че съм въвел правилно данните по грешка, щракнах върху бутона за отмяна, когато новият потребителски формуляр се появи отново, попълних данните от нулата.

Сега ще използвам метода “Hide”.

Не, ще щракна върху бутона за отмяна, той ще скрие видимата потребителска форма. Но когато рестартирам макроса, той ще се върне с данните, които вече съм въвел в потребителската форма.

Ето как можем да използваме оператора „Unload“ и метода „Hide“, за да затворим потребителските форми в Excel VBA.