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 uživatelského formuláře 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 jej lze 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 podobně vložíte nový modul, musíte kliknout na tlačítko VLOŽIT v editoru jazyka a vložit Userform.

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 formátovat tento uživatelský formulář. Můžeme to pojmenovat. Můžeme změnit barvu, styl ohraničení atd.…

Takto vyzkoušejte jiné 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 uživatelský formulář pouze vložen, 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í v části 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 můžete aktuální štítek přetáhnout 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í.

Takto 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“.

Insert one more button and call it “Cancel.”

Now just to see run, press the run button or use the F5 key and see how your userform looks like in Excel.

Now it is coming to the shape.

VBA Code

Now the user will enter data in this, so we need to program this to store the data entered by the user on this form.

Double click on the SUBMIT button, it will take you to the macro window with an auto-created macro like the below.

It says SubmitButton click, remember we had given a name for the SUBMIT button as SubmitButton.

So, whenever we want to call this button, we can call this by this name (submit button). Inside this macro, copy and paste the below code.

Code:

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 is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of the Employee ID text box.
  • Dept.Value this is the department text box name.

So, on the click on the submit button, it will store the values in the mentioned cells.

Now double click on the Cancel button. This will also show you the auto macro name like this.

Copy the below code and paste.

Code:

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 před sebou uživatelský formulář.

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

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

Takto můžete zadávat jména i nadále. 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.

Zajímavé články...