- Vytvoření UserForm
- Vytvoření textového pole
- Vytvoření ovládacího prvku štítku
- Vytvoření ovládacího prvku pole se seznamem
- Vytvoření ovládacího prvku seznamu
- Vytvoření ovládacího prvku zaškrtávacího políčka
- Vytvoření ovládacího prvku skupiny možností pomocí tlačítek možností
- Vytvoření příkazového tlačítka pro ukončení formuláře
Tento článek předvede, jak používat ovládací prvky v UserForms v aplikaci Excel VBA.
VBA má schopnost vytvářet formuláře, se kterými může uživatel interagovat, například formuláře pro fakturaci nebo kontaktní údaje. Formulář může obsahovat řadu ovládacích prvků formuláře, jako jsou textová pole, pole se seznamem, pole se seznamem a příkazová tlačítka. Tento článek se bude zabývat nejpopulárnějšími ovládacími prvky používanými u uživatelských formulářů, konkrétně textových polí, štítků, kombinovaných polí, seznamů, zaškrtávacích políček a skupin možností.
Chcete -li se dozvědět více o vestavěných uživatelských formulářích a vytváření vlastních uživatelských formulářů v aplikaci Excel, klikněte sem.
Vytvoření UserForm
Chcete -li vytvořit UserForm v aplikaci Excel VBA, musíme nejprve otevřít soubor VBE editor.
Chcete -li do kódu vložit nový uživatelský formulář, vyberte UserForm z nabídky Vložit.
Ve formuláři se objeví nový uživatelský formulář Průzkumník projektů a zobrazí se v okně kódu vpravo.
Formulář můžete přejmenovat pomocí Vlastnosti krabice. To by se mělo objevit pod vaším Průzkumník projektů.
Pokud je to viditelné, stiskněte F4 nebo klikněte Pohled, Okno vlastností.
Klikněte na název majetek a přejmenujte svůj formulář.
Nyní můžeme začít vyplňovat náš formulář ovládacími prvky - ovládací prvek textového pole je nejoblíbenější ovládací prvek spolu s ovládacím prvkem štítku a příkazovým tlačítkem.
K vyplnění formuláře ovládacími prvky musíme zapnout Toolbox.
V Jídelní lístek, vyberte Zobrazit> Panel nástrojů.
Vytvoření textového pole
Chcete -li ve formuláři vytvořit textové pole, vyberte ovládací prvek textové pole v panelu nástrojů.
Přetáhněte tvar pole ve formuláři myší, podržte levé tlačítko a poté tlačítko myši uvolněte.
Protože se jedná o první textové pole, které vytváříme, bude mít název TextBox1. Stejně jako u formuláře můžete textové pole přejmenovat pomocí okna Vlastnosti.
Můžeme pokračovat ve vytváření tolik textových polí, která požadujeme, a pojmenovat je podle potřeby pomocí vlastnosti Název v okně Vlastnosti.
Vytvoření ovládacího prvku štítku
Ovládací prvek štítku nám říká, jaké textové pole bude použito k uložení. Přetáhnete formulář stejným způsobem jako pro textové pole a poté můžete zadat požadovaný text do ovládacího prvku štítku, například: křestní jméno, jak je uvedeno níže.
Stejně jako u textových polí pokračujte ve vytváření tolik, kolik je ve formuláři požadováno.
Vytvoření ovládacího prvku pole se seznamem
Kombinované pole (nebo rozevírací pole) umožňuje uživateli vybrat ze seznamu hodnot. Chcete -li vytvořit pole se seznamem, klikněte v panelu nástrojů na ovládací prvek pole se seznamem a klikněte a přetáhněte pole se seznamem ve formuláři.
Vhodně pojmenujte pole se seznamem.
Přidávání hodnot do pole se seznamem
Abychom jej naplnili hodnotami, musíme kódovat do souboru Inicializovat metoda objektu formuláře Uživatel.
Do kódu za formulářem (CBF) se dostanete dvojitým kliknutím na formulář nebo kliknutím na tlačítko kódu v Průzkumníku projektů přepnete do zobrazení kódu.
V rozevíracím seznamu vlevo vyberte Uživatelský formulář a poté v rozevíracím seznamu vpravo vyberte Inicializovat.
Do rozbalovacího pole Sub a End Sub vyplňte následující kód:
1234 | Me.cboState.AddItem "Alabama"Me.cboState.AddItem „Aljaška“Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas" |
Samozřejmě můžeme pokračovat v naplnění seznamu zbytkem států v USA!
Chcete -li spustit formulář uživatele a zobrazit seznam v akci, 1) přepněte zpět do zobrazení formuláře a poté, 2) na panelu nástrojů klikněte na Běh knoflík.
Seznam zobrazíte kliknutím na šipku rozevíracího seznamu.
K naplnění pole se seznamem můžeme také použít Rozsah v Excelu.
123456 | Private Sub UserForm_Initialize ()Dim rng As RangePro každý rozsah v rozsahu („A1: A50“)Me.cboState.AddItem rng.ValueDalší rngEnd Sub |
Tím se načtou všechny hodnoty uložené v rozsahu A1 až A50 a odpovídajícím způsobem se naplní rozevírací seznam.
Vytvoření ovládacího prvku seznamu
Ovládací prvek pole seznamu funguje stejným způsobem jako ovládací prvek pole se seznamem, ale umožňuje nám zobrazit všechny možnosti ve formuláři ve formátu seznamu.
Na panelu nástrojů vyberte ovládací prvek Seznam a přetažením vytvořte ve formuláři pole se seznamem.
Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!
Přidání hodnot do seznamu
Do události Initialize formuláře zadejte následující kód:
123456 | Private Sub UserForm_Initialize ()Dim rng As RangePro každý rozsah v rozsahu („A1: A50“)Me.lstState.AddItem rng.ValueDalší rngEnd Sub |
Když spustíme formulář, zobrazí se pole se seznamem, jak ukazuje následující obrázek:
Vytvoření ovládacího prvku zaškrtávacího políčka
Zaškrtávací políčka umožňují uživateli zaškrtnout nebo zrušit zaškrtnutí možnosti.
Zaškrtněte políčko Zaškrtávací políčko a potom klikněte na formulář, kam chcete, aby šel.
Upravte titulek a název zaškrtávacího políčka v okně Vlastnosti.
Vytvoření ovládacího prvku skupiny možností pomocí tlačítek možností
Skupina možností umožňuje uživateli vybrat si z řady dostupných možností. Prvním krokem při vytváření skupiny možností je přidání ovládacího prvku rámce do formuláře a poté přidání tlačítek možností v rámci, který byl přidán. Tím zajistíme, že když spustíme formulář, bude možné vybrat současně pouze jedno z tlačítek možností v rámci.
Vyberte ovládací prvek Rámeček v panelu nástrojů a přetažením vytvořte rámeček ve formuláři.
V panelu nástrojů vyberte ovládací prvek Tlačítko možností a poté kliknutím V RÁMCI výše vytvořeného rámečku přidejte do rámečku tlačítko volby. Opakujte podle potřeby.
Klikněte na rámeček a 1) změňte název rámečku a titulku. Poté 2) klikněte na každé z tlačítek možností a upravte popisek.
Vytvoření příkazového tlačítka pro ukončení formuláře
V této fázi je jediným způsobem zavření formuláře použití tlačítka Zavřít v pravém rohu ovládací lišty formuláře. Efektivnější způsob, jak opustit formulář a ve kterém máme větší kontrolu, je vytvoření tlačítka Konec ve formuláři. To se provádí pomocí ovládacího prvku Command Button v panelu nástrojů.
Vyberte ovládací prvek Příkazové tlačítko a potom kliknutím a přetažením ve formuláři vytvořte tlačítko.
Pomocí vlastnosti Caption změňte titulek příkazového tlačítka na OK a Accelerator na „O“
Účelem akcelerátoru je, aby v tomto případě uživatel použil klávesnici k aktivaci tlačítka Alt+O by aktivovalo tlačítko.
Skvělý produkt. AutoMacro nejenže napíše váš kód, ale naučí vás to za pochodu! “ - Tony, Velká Británie
Další informacePřečtěte si více než 900 recenzí
Přidání kódu do příkazového tlačítka
Aby příkazové tlačítko fungovalo, musíme za něj přidat kód, aby se po kliknutí na tlačítko kód spustil. Toto se nazývá událost kliknutí tlačítka.
K události kliknutí se dostanete dvojitým kliknutím na tlačítko v návrhovém zobrazení formuláře.
1) Událost Click bude automaticky vytvořena, protože toto je událost, která se nejčastěji používá pro příkazová tlačítka.
2) Pokud bychom klikli do rozevíracího seznamu Procedura na pravé straně, zobrazil by se nám seznam všech Metod událostí, které jsou k dispozici příkazovému tlačítku. Tento seznam se mění podle toho, jaký typ ovládacího prvku jsme vytvořili, protože pro různé typy ovládacích prvků jsou k dispozici různé události.
Do události kliknutí příkazového tlačítka zadejte následující kód.
123456789101112131415 | Soukromý sub cmdOK_Click ()Rozsah ("E1") = Me.txtFirstnameRozsah ("E2") = Me.txtPříjmeníDosah ("E3") = Me.txtCellPhoneRozsah ("E4") = Me.cboStateIf Me.ckContactInfo = True ThenRozsah ("E5") = "SMS povoleno"JinýRozsah ("E5") = "SMS nejsou povoleny"Konec IfIf Me.opt1.Value = True Then Range ("E6") = Me.opt1.CaptionIf Me.opt2.Value = True Then Range ("E6") = Me.opt2.CaptionIf Me.opt3.Value = True Then Range ("E6") = Me.opt3.CaptionVyložit měEnd Sub |
Poté můžeme spustit formulář, vyplnit textová pole a vybrat z rozevíracího seznamu. Poté klikneme na OK a zadáme informace do Excelu.