Excel VBA Zavřít UserForm

Dříve jsme diskutovali o tom, jak vytvořit UserForm ve VBA. Nyní, aby se získal vstup od uživatele, bylo tlačítko pro odeslání, které pak uložilo hodnotu danou uživatelem v Excelu. Ale co po zadání hodnoty forma stále existuje. Nebo co když uživatel nechce dát žádná data a uzavřít uživatelský formulář. Nediskutovali jsme o tom, jak uzavřít uživatelský formulář pro uživatele. Podobně jako tlačítko Odeslat k odeslání dat jsme měli další tlačítko, které bylo pro zrušení, které se používá ke skrytí uživatelského formuláře. Tlačítko Zrušit má také svůj vlastní kód pro skrytí uživatelského formuláře před uživatelem. Nyní existují dvě metody, kterými můžeme skrýt uživatelský formulář. Jsou to následující:

  1. První metoda je, když použijeme metodu Unload Me. Tato metoda uvolní UserForm a zmizí z displeje.
  2. Další metodou je použití metody Useform.Hide. Tato metoda skryje UserForm na displeji.

Doporučujeme použít druhou metodu k uzavření UserForm, protože první metoda úplně UserForm uvolní a veškerá data zadaná uživatelem budou úplně ztracena. Ale když použijeme druhou metodu skrývání UserForm, pak je stále přítomna poslední položka provedená uživatelem na uživatelském formuláři.

Jak zavřít UserForm v Excelu VBA?

Naučíme se, jak uzavřít UserForm v Excelu VBA s jeho rozdílem, a na několika příkladech, ale nejprve se nejprve naučíme způsob uzavření uživatelského formuláře ve VBA.

Existují dvě metody uzavření uživatelského formuláře ve VBA:

  1. Vylož mě
  2. Skrýt
Tuto šablonu aplikace VBA Close UserForm si můžete stáhnout zde - VBA Zavřít šablonu UserForm Excel

Excel VBA Zavřít UserForm - Příklad # 1

Nejprve vyzkoušejte způsob uzavření UserForm pomocí volby Unload Me. V našem předchozím článku jsme měli uživatelský formulář, který vypadá jako ten níže.

Pro tlačítko Odeslat jsme měli náš kód, který uložil data zadaná uživatelem v Excelu. Nyní dvakrát klikněte na tlačítko Storno, které otevře kód stejným způsobem,

Kód:

 Private Sub CommandButton2_Click () End Sub 

Tlačítko Cancel bylo druhým příkazovým tlačítkem, které jsme poskytli uživatelskému formuláři. Nyní napište kódový kód jako Uvolněte mě v sekci, jak je znázorněno na obrázku níže.

Kód:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Vidíme, že Me je příkaz Object of Unload. Nyní spustíme uživatelský formulář stisknutím klávesy F5 a zobrazíme jej.

Stisknutím tlačítka Storno uvidíte, že uživatelská forma zmizí a vrátí se zpět do původní uživatelské formy okna projektu.

Excel VBA Zavřít UserForm - Příklad # 2

Nyní vyzkoušejte druhou metodu, kterou userform.hide metoda podobným způsobem jako výše, nejprve, pojďme otevřít uživatelský formulář z userform v okně projektu.

Nyní dvakrát klikněte na tlačítko Storno, které otevře kód zobrazení pro příkazové tlačítko Storno.

V příkazovém tlačítku Cancel již máme příkaz Unload Me, vymaže kód a nahradíme jej příkazem Userform.Hide .

Kód:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Nyní znovu spustíme uživatelský formulář stisknutím klávesy F5 a zobrazíme jej na obrazovce.

Když stiskneme tlačítko Storno, znovu se přesuneme do okna projektu uživatelského formuláře. Nyní bychom se všichni mohli divit, že jaký je rozdíl mezi oběma metodami, protože obě metody pro nás dokonale uzavírají uživatelský formulář, tak proč je druhá metoda nejvíce doporučovanou metodou obou. Přesně zjistíme, proč v následujících dvou příkladech.

Excel VBA Zavřít UserForm - Příklad # 3

Nyní přejdeme k prvnímu příkazu Unload Me pro tlačítko Cancel a poskytneme některá data do uživatelského formuláře. Poklepáním na tlačítko Storno v uživatelském formuláři otevřete kód pohledu pro příkazové tlačítko a nahraďte kód příkazem Unload Me následujícím způsobem.

Kód:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Nyní spusťte uživatelský formulář znovu stisknutím klávesy F5 a jeho zobrazení na obrazovce.

Uveďte některá data do uživatelského formuláře následujícím způsobem, nyní nestiskněte tlačítko Odeslat, stiskněte tlačítko Storno.

Uživatelský formulář znovu spusťte stisknutím klávesy F5.

Nyní můžeme vidět, že jsme ztratili data, která jsme poskytli uživatelskému formuláři, protože jsme je neodeslali, nebyla uložena v listu a uživatelský formulář jsme uzavřeli pomocí příkazu Unload Me, který odstranil již vyplněná data.

Excel VBA Zavřít UserForm - Příklad # 4

Nyní udělejme stejné cvičení, ale pomocí příkazu Userform.Hide,

V příkazovém tlačítku Cancel jej vyměňte pomocí metody userform.hide, jak je ukázáno níže.

Kód:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Nyní znovu spustíme uživatelský formulář stisknutím klávesy F5 a poskytneme mu některá data následujícím způsobem.

Nyní stiskněte tlačítko Zrušit a znovu spusťte uživatelský formulář, který nám poskytne následující výsledek.

Data se neztrácí, ani když stiskneme tlačítko Storno, pokud stiskneme Odeslat, uloží se data do Excelu následujícím způsobem.

Nyní jsou data uložena, uživatelský formulář je nyní prázdný a uživatelský formulář můžeme zavřít pomocí tlačítka Zrušit,

Co si pamatovat

  • Jakmile uživatel provede zadání dat, musíme uzavřít uživatelský formulář, takže je stejně důležitý jako tlačítko Odeslat.
  • Zavřít Userform je v příkazovém tlačítku userform ve VBA, Obecně se nazývá Zrušit nebo Zavřít.
  • Existují dva samostatné způsoby uzavření uživatelského formuláře, ale nakonec slouží stejnému účelu jako každý jiný.
  • Metoda Userform.Hide je nejvhodnější, protože i když je uživatel před vstupem dat uzavřen uživatelem, data se neztratí a záznam provedený uživatelem se znovu zobrazí, když uživatel otevře uživatelský formulář.

Doporučené články

Toto je průvodce programem VBA Close UserForm. Zde diskutujeme o tom, jak zavřít UserForm v Excelu pomocí příkazu Unload Me a Userform.Hide. Můžete si také prohlédnout naše další doporučené články -

  1. Jak aktivovat list ve VBA?
  2. Vyhodnoťte vzorec v Excelu
  3. Kompletní průvodce seznamem VBA
  4. HYPERLINK vzorec v Excelu

Kategorie: