Excel VBA Userform | Jak vytvořit interaktivní uživatelský formulář?

Excel VBA Userform

Userform in VBA are customized user-defined forms which are made to take input from a user in the form of a form, it has different sets of controls to add such as text boxes, checkboxes labels, etc to guide a user to input a value a uloží hodnotu do listu, každá část formuláře uživatele má s sebou jedinečný kód.

Userform je objekt v rozhraní aplikace Excel a uvnitř tohoto formuláře uživatele můžeme vytvořit další užitečné vlastní dialogová okna, abychom získali data od uživatele. Když pracujete se souborem maker, který vytvořil váš nadřízený nebo si jej můžete stáhnout z internetu, musíte vidět uživatelský formulář, jako je tento.

V tomto článku vám ukážeme, jak vytvořit podobný uživatelský formulář pro ukládání dat od uživatele.

Jak vytvořit Userform?

Stejně jako vložíte nový modul podobně, musíte kliknout na tlačítko VLOŽIT v editoru jazyka a vložit Userform.

Tuto šablonu VBA Userform Excel si můžete stáhnout zde - VBA Userform Excel Template

Jakmile na toto kliknete, vloží se také uživatelský formulář.

Než vám řeknu, jak to naprogramovat, dovolte mi ukázat vám, jak formátovat tento uživatelský formulář.

Formátování Userform

Výběrem uživatelského formuláře stiskněte klávesu F4, zobrazí se vám okno vlastností.

Pomocí tohoto okna vlastností můžeme tento uživatelský formát naformátovat, pojmenovat, změnit barvu, styl ohraničení atd.

Stejně jako toto vyzkoušejte další vlastnosti, abyste získali přehled o uživatelské formě.

Nyní pro tento uživatelský formulář vložte Toolbox.

Nyní uvidíme panel nástrojů, jako je tento.

V tuto chvíli je vložen uživatelský formulář, není naprogramován. Chcete-li vědět, jak to funguje, stačí kliknout na tlačítko spuštění, uvidíme formulář na listu aplikace Excel.

Nyní pomocí popisného štítku ToolBox.

Do štítku zadejte text jako jméno zaměstnance.

U tohoto štítku můžeme formátovat pomocí vlastností. Nyní jsme zadali text jako „Jméno zaměstnance:“ Nyní to vidíme v okně vlastností pod titulky.

Vložte ještě jeden štítek. Chcete-li vložit ještě jeden štítek, můžete buď kliknout na panel nástrojů, nebo přetáhnout aktuální štítek podržením klávesy Ctrl , budete mít repliku aktuálního štítku.

Nyní budeme mít stejný štítek.

Změňte název na ID zaměstnance.

Nyní podobně vložte ještě jeden štítek a pojmenujte jej jako „Oddělení“.

Nyní z panelu nástrojů vložte textové pole.

Pojmenujte toto textové pole jako EmpName v okně vlastností.

Stejně jako v tomto případě vložte další dvě textová pole z ID zaměstnance a oddělení. Pojmenujte tato textová pole podle jejich záhlaví.

Podobně to udělejte pro ministerstvo.

Nyní z panelu nástrojů vložte příkazové tlačítko.

Změňte název příkazového tlačítka na „SubmitButton“ a změňte titulek na „Submit“.

Vložte ještě jedno tlačítko a nazvěte jej „Zrušit“.

Nyní jen pro zobrazení spuštění stiskněte tlačítko spuštění nebo použijte klávesu F5 a podívejte se, jak vypadá váš uživatelský formulář v aplikaci Excel.

Nyní přichází do formy.

Kód VBA

Nyní uživatel zadá do tohoto data, takže je musíme naprogramovat tak, aby ukládal data zadaná uživatelem v tomto formuláři.

Poklepejte na tlačítko PŘEDLOŽIT, dostanete se do okna makra s automaticky vytvořeným makrem, jak je uvedeno níže.

Říká se, že kliknete na SubmitButton, pamatujte, že jsme pojmenovali tlačítko SUBMIT jako SubmitButton.

Kdykoli chceme toto tlačítko zavolat, můžeme jej zavolat tímto jménem (tlačítko Odeslat). Uvnitř tohoto makra zkopírujte a vložte níže uvedený kód.

Kód:

 Private Sub SubmitButton_Click () Dim LR As Long LR = Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (LR, 1) .Value = EmpName.Value Cells (LR, 2) .Value = EmpID .Value Cells (LR, 3) .Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value here EmpName je název textového pole, který jsme zadali při vytváření textového pole se jménem zaměstnance.
  • EmpID.Value here EmpID is the text box name of Employee ID text box.
  • Dept.Vue toto je název textového pole oddělení.

Takže po kliknutí na tlačítko Odeslat uloží hodnoty do uvedených buněk.

Nyní poklepejte na tlačítko Storno, zobrazí se vám také název automatického makra.

Zkopírujte níže uvedený kód a vložte jej.

Kód:

 Private Sub CancelButton_Click () MyUserForm.Hide End Sub 

MyUserForm je název, který jsme dali uživatelskému formuláři. MyUserForm.Hide znamená, že po kliknutí na tlačítko ZRUŠIT skryje uživatelský formulář.

Dobře, nyní vytvořte v listu takovou šablonu.

Odstraňte všechny ostatní listy v sešitu kromě tohoto listu šablony.

Nyní přejděte do editoru jazyka.

A spusťte makro pomocí klávesy F5 nebo ručně, uvidíme uživatelský formulář před námi.

Zadejte jméno zaměstnance, ID zaměstnance a název oddělení.

Nyní, když kliknete na tlačítko ODESLAT, uloží hodnoty do šablony, kterou jsme vytvořili.

Stejně jako můžete i nadále zadávat jména, userform bude nadále ukládat hodnoty zadané uživatelem do zadaných buněk.

Takže pomocí USER FORM můžeme skutečně vytvářet skvělé projekty, abychom získali informace od uživatele.