Excel VBA Zatvorte UserForm

Predtým sme diskutovali o tom, ako vytvoriť UserForm vo VBA. Teraz, aby sa získal vstup od užívateľa, bolo tlačidlo na odoslanie, ktoré uložilo hodnotu zadanú používateľom v excelovom hárku. Čo však po zadaní hodnoty stále existuje. Alebo čo keď užívateľ nechce poskytnúť žiadne údaje a zatvorí formulár používateľa. Nehovorili sme o tom, ako zatvoríme užívateľský formulár pre používateľa. Podobne ako v prípade tlačidla odoslania na odoslanie údajov sme mali ďalšie tlačidlo na zrušenie, ktoré sa používa na skrytie používateľského formulára. Tlačidlo Zrušiť má tiež svoj vlastný kód na skrytie používateľského formulára pred používateľom. Teraz existujú dve metódy, pomocou ktorých môžeme skryť používateľský formulár. Sú to tieto:

  1. Prvá metóda je, keď použijeme metódu Unload Me. Táto metóda uvoľní UserForm a zmizne z displeja.
  2. Inou metódou je použitie metódy Useform.Hide. Táto metóda skryje UserForm na displeji.

Na ukončenie UserForm sa odporúča použiť druhú metódu, pretože prvá metóda úplne zruší UserForm a všetky údaje zadané používateľom sa úplne stratia. Ale keď použijeme druhú metódu skrývania UserForm, potom bude stále existovať posledná položka, ktorú užívateľ vykoná v užívateľskom formulári.

Ako zatvoriť UserForm v Excel VBA?

Dozvieme sa o tom, ako uzavrieť UserForm v Excel VBA s jeho rozdielom a pomocou niekoľkých príkladov, ale najprv sa naučme spôsob zatvárania užívateľských formulárov vo VBA.

Existujú dve metódy, ako uzavrieť formulár používateľa vo VBA:

  1. Uvoľni ma
  2. skryť
Túto šablónu VBA Close UserForm si môžete stiahnuť tu - VBA Close UserForm Excel Template

Excel VBA Zatvorte UserForm - Príklad č. 1

Najprv vyskúšajme spôsob ukončenia UserForm pomocou voľby Unload Me. V našom predchádzajúcom článku sme mali používateľský formulár, ktorý vyzerá ako nasledujúci.

Pre tlačidlo odoslania sme mali náš kód, ktorý uložil údaje zadané používateľom v exceli. Teraz dvakrát kliknite na tlačidlo Zrušiť, čím sa otvorí rovnaký kód, ako je uvedené ďalej,

kód:

 Private Sub CommandButton2_Click () End Sub 

Tlačidlo Zrušiť bolo druhým príkazovým tlačidlom, ktoré sme poskytli používateľskému formuláru. Teraz napíšte kódový kód ako Uvoľnite ma do sekcie, ako je to znázornené na obrázku nižšie.

kód:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Vidíme, že Me je príkaz Object of Unload. Teraz spustíme užívateľský formulár stlačením klávesu F5, aby sme ho zobrazili.

Stlačením tlačidla Zrušiť zistíte, že používateľský formulár zmizne a vráti sa späť do pôvodného používateľského tvaru okna projektu.

Excel VBA Zatvorte UserForm - Príklad č. 2

Teraz vyskúšajme druhú metódu, ktorá userform.hide podobným spôsobom ako vyššie, najprv otvorme užívateľský formulár z userform v okne projektu.

Teraz dvakrát kliknite na tlačidlo Zrušiť, čím sa otvorí zobrazovací kód pre príkazové tlačidlo Zrušiť.

V príkazovom tlačidle Cancel už máme príkaz Unload Me, vymaže kód a nahradíme príkazom Userform.Hide .

kód:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Teraz spustíme užívateľský formulár stlačením klávesu F5 a zobrazíme ho na obrazovke.

Keď stlačíme tlačidlo Zrušiť, opäť sa presunieme do okna projektu užívateľského formulára. Teraz by sme sa všetci mohli čudovať, že aký je rozdiel medzi týmito dvoma metódami, pretože obidve metódy pre nás dokonale uzatvárajú používateľský formulár, prečo je druhá metóda najviac odporúčanou metódou oboch. Presne zistíme, prečo v nasledujúcich dvoch príkladoch.

Excel VBA Zatvoriť UserForm - Príklad č. 3

Teraz prejdime k prvej metóde Unload Me vyhlásenie pre tlačidlo Zrušiť a poskytnite niektoré údaje do užívateľského formulára. Dvojitým kliknutím na tlačidlo Zrušiť v používateľskom formulári otvorte zobrazovací kód príkazového tlačidla a kód nahraďte príkazom Uvoľniť Me nasledujúcim spôsobom.

kód:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Teraz znovu spustite užívateľský formulár stlačením klávesu F5 a zobrazte ho na obrazovke.

Poskytnite niektoré údaje do formulára používateľa nasledujúcim spôsobom, teraz nestláčajte tlačidlo Odoslať, stlačte tlačidlo Zrušiť.

Opäť spustite užívateľský formulár stlačením klávesu F5.

Teraz vidíme, že sme stratili údaje, ktoré sme poskytli užívateľskému formuláru, pretože sme ich neodoslali, neboli uložené v pracovnom hárku a užívateľský formulár sme uzavreli pomocou príkazu Unload Me, ktorý odstránil už vyplnené údaje.

Excel VBA Zatvoriť UserForm - Príklad č. 4

Teraz urobme rovnaké cvičenie, ale pomocou formulára Userform.Hide,

V príkazovom tlačidle Zrušiť ho nahraďte pomocou metódy userform.hide, ako je to znázornené nižšie.

kód:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Teraz spustíme užívateľský formulár stlačením klávesu F5 a poskytneme mu niektoré údaje nasledovne.

Teraz stlačte tlačidlo Zrušiť a znova spustite formulár používateľa, ktorý nám poskytne nasledujúci výsledok.

Dáta sa nestratia ani vtedy, keď stlačíme tlačidlo Zrušiť, ak stlačíme Odoslať, údaje sa uložia do Excelu nasledovne.

Teraz sú dáta uložené, užívateľský formulár je teraz prázdny a užívateľský formulár môžeme zavrieť pomocou tlačidla Zrušiť,

Čo je potrebné pamätať

  • Keď používateľ zadal údaje, musíme užívateľský formulár uzavrieť, takže je rovnako dôležitý ako tlačidlo Odoslať.
  • Close Userform je v príkazovom tlačidle userform vo VBA. Všeobecne sa nazýva Cancel alebo Close.
  • Existujú dva rôzne spôsoby zatvárania užívateľských formulárov, ale nakoniec slúžia rovnakému účelu ako sebe navzájom.
  • Metóda Userform.Hide sa najviac odporúča, aj keď používateľ zavrie pred zadaním údajov užívateľský formulár, údaje sa nestratia a záznam vykonaný používateľom sa znova zobrazí, keď používateľ otvorí používateľský formulár.

Odporúčané články

Toto je sprievodca programom VBA Close UserForm. Tu diskutujeme o tom, ako uzavrieť UserForm v programe Excel pomocou príkazu Unload Me a Userform.Hide. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Ako aktivovať hárok vo VBA?
  2. Vyhodnotiť vzorec v Exceli
  3. Kompletný sprievodca zoznamom VBA
  4. HYPERLINK Formula v Exceli

Kategórie: