Excel VBA Close UserForm

По-рано бяхме обсъдили как да създадете UserForm във VBA. Сега, за да получите информация от потребителя, имаше бутон за подаване, който запаметяваше стойността, дадена от потребителя в екселски лист. Но това, което след като даде стойността на формата, все още е там. Или какво ще стане, ако потребителят не иска да дава никакви данни и затвори потребителската форма. Не бяхме обсъждали как ще затворим потребителската форма за потребителя. Подобно на бутона за изпращане за предаване на данните, имахме друг бутон, който беше за отмяна, който се използва за скриване на потребителската форма. Бутонът за анулиране също има свой собствен код, за да скрие формата на потребителя от потребителя. Сега има два метода, чрез които можем да скрием потребителска форма. Те са както следва:

  1. Първият метод е, когато използваме метода Unload Me. Този метод разтоварва UserForm и той изчезва от дисплея.
  2. Друг метод е, когато използваме метода Useform.Hide. Този метод крие UserForm от дисплея.

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

Как да затворя потребителската форма в Excel VBA?

Ще научим как да затворим UserForm в Excel VBA с неговата разлика и с няколко примера, но първо, нека научим метода за затваряне на потребителска форма във VBA.

Има два метода за затваряне на потребителската форма във VBA:

  1. Разтоварете ме
  2. Крия
Можете да изтеглите този шаблон на VBA Close UserForm Excel тук - VBA Close UserForm Excel шаблон

Excel VBA Close UserForm - Пример №1

Първо, нека опитаме метода за затваряне на UserForm с помощта на опцията Unload Me. В предишната ни статия имахме потребителска форма, която изглежда като тази по-долу.

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

Код:

 Private Sub CommandButton2_Click () End Sub 

Бутонът за отмяна беше вторият команден бутон, който предоставихме на потребителската форма. Сега напишете кодовото изявление като Разтовари ме в секцията, както е показано на изображението по-долу.

Код:

 Private Sub CommandButton2_Click () Разтоварете ме Край Sub 

Можем да видим, че Me е оператор Object of Unload. Сега нека стартираме потребителската форма, като натискаме клавиша F5, за да я покажем.

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

Excel VBA Close UserForm - Пример №2

Сега нека опитаме втория метод, който метод userform.hide по подобен начин, както по-горе, първо, нека отворим потребителската форма от потребителската форма в прозореца на проекта.

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

Вече имаме командата Unload Me в командния бутон за отмяна, изчистете кода и го заменете с оператора Userform.Hide .

Код:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Сега отново стартираме потребителската форма, като натискаме клавиша F5 и я показваме на екрана.

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

Excel VBA Close UserForm - Пример №3

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

Код:

 Private Sub CommandButton2_Click () Разтоварете ме Край Sub 

Сега стартирайте отново формата на потребителя, като натиснете клавиша F5 и го покажете на екрана.

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

Отново стартирайте потребителската форма, като натиснете клавиша F5.

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

Excel VBA Close UserForm - Пример №4

Сега нека да направим същото упражнение, но използвайки оператора Userform.Hide,

В командния бутон за отмяна заменете кода за него, като използвате метода userform.hide, както е показано по-долу.

Код:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

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

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

Данните дори не се губят, когато натискаме бутона за отказ, ако натискаме submit, ще съхраняваме данните в excel както следва.

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

Неща, които трябва да запомните

  • След като въвеждането на данни е извършено от потребителя, трябва да затворим потребителската форма, така че да е толкова важно, колкото бутона за изпращане.
  • Затваряне на потребителската форма е в командния бутон на потребителската форма във VBA, като цяло той е наречен Отказ или Затвори.
  • Има два отделни метода за затваряне на потребителска форма, но в крайна сметка те служат на една и съща цел като всеки друг.
  • Методът Userform.Hide е най-препоръчителен, тъй като дори ако потребителската форма е затворена от потребителя преди въвеждането на данни, данните не се губят и записът, направен от потребителя, се показва отново, когато потребителят отвори потребителската форма.

Препоръчителни статии

Това е ръководство за VBA Close UserForm. Тук обсъждаме как да затворите UserForm в Excel, използвайки оператора Unload Me и Userform.Hide метод във VBA, заедно с някои практически примери и изтеглящ шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. Как да активирате лист във VBA?
  2. Оценете формулата в Excel
  3. Пълно ръководство за VBA List Box
  4. HYPERLINK Формула в Excel

Категория: