Začínáme s UserForms aplikace Excel VBA

Anonim


V tomto článku se naučíte základy uživatelských formulářů VBA. Vysvětlím, jak vytvořit formulář v Excelu, jak používat sadu nástrojů VBA, jak zacházet s uživatelskými vstupy a nakonec jak ukládat uživatelské vstupy. Tato témata si projdeme pomocí jednoho příkladu a průvodce krok za krokem. Pokud to čtete, předpokládám, že znáte základy aplikace Excel VBA.
Bez dalšího zdržování začněme.
Vytvořte formulář pro investování v aplikaci Excel a uložte záznam
Začneme návrhem uživatelského formuláře. V této uživatelské formě budeme mít jedno textové pole pro jméno, jedno pro věk, jedno pro částku investice a dvojici přepínačů pro pohlaví. Začněme.

Navrhněte uživatelskou formu

  • Otevřete editor Visual Basic v Excelu pomocí zkratky ALT+F11. V Project Boxu klikněte pravým tlačítkem na VBAProject(váš soubor). v vložit možnost, vyberte si UserForm.
  • Ihned bude vytvořena nová složka a vaše uživatelská forma bude nalezena. Do této složky budou přidány všechny uživatelské formuláře pro tento projekt.
  • Změňte název formuláře na InvestmentForm v majetková schránka.
  • Pole vlastností je zobrazeno v levé dolní části Průzkumníka projektu. Pokud to nevidíte, přejděte na zobrazení a klikněte na Okno vlastností. Budeme ho hodně používat, takže se ujistěte, že tam je. Používá se pro styling, pojmenování a přizpůsobení formulářů.

  • Přidejte prvky do formuláře: Do výše uvedeného obrázku jsem již přidal prvky (štítky, textové pole, příkazové tlačítko). Nový uživatelský formulář je však zcela prázdný. K přidání prvků do formuláře musíte použít pole nástrojů. Pokud nevidíte sadu nástrojů, stáhněte si ji z Pohled tab.

  • Přidejte popisky pomocí sady nástrojů pro popisné názvy. Přidejte textové pole pro vstupy uživatelů.

    Přidejte dva přepínače a pojmenujte je Muž a Žena.

    K jejich zapouzdření jsem použil rámeček, ale není to nutné.

    Přidejte příkazová tlačítka Předložit a zrušení provést operaci na daném vstupu.

  • Pojmenovací prvky: Textové pole, štítky, tlačítka atd. Vše jsou prvky. A abychom je mohli používat v kódu VBA, musíme jim dát jména. Ke změně jejich názvu používáme okno vlastností.
  • Vyberte prvek. Zde vybírám textové pole pro jméno. Přejděte do okna vlastností a změňte název na „NameBox“. Totéž proveďte pro každý prvek, který budete používat. (štítky nemusíte pojmenovávat, pokud nechcete, aby na ně bylo možné klikat.)


Přejmenoval jsem prvek podle níže uvedené tabulky a budu na ně odkazovat pomocí těchto jmen. Můžete mít různá jména. Stačí nahradit tato jména svým jménem. Toto jsou názvy VBA (kódové jméno), které budou použity v kódu. Na formuláři se neprojeví.
Text, který vidíte na štítcích a tlačítkách, je „Titulky“. Název a titulek prvku mohou být stejné, pokud chcete.

Živel Přejmenovat
Název Textové pole NameBox
Textové pole stáří AgeBox
Tlačítko mužské volby Muž Možnost
Tlačítko ženské možnosti Žena Možnost
Investiční textové pole InvestBox
Odeslat příkazové tlačítko Odeslat tlačítko
Tlačítko Zrušit příkaz Tlačítko Storno
  • Zobrazit uživatelský formulář uživateli: Nyní je formulář připraven, ukažme ho uživateli. Ale počkejte, jak to udělám. Na listu není možnost zavolat na uživatelský formulář.
  • Ve skutečnosti uživatelský formulář vyžaduje spuštění. Sám to nelze ukázat. K zobrazení formuláře na obrazovce můžete použít příkazové tlačítko, podprogram nebo událost.

    Zde použiji příkazové tlačítko ke spuštění uživatelského formuláře.

    • Přejít na listu na kartu vývojářů? Vložit? Tlačítko (ovládání formuláře). Přejmenujte jej na otevřený formulář.
    • Klikněte na něj pravým tlačítkem. Klikněte na přiřadit makro a poté klikněte na nové.

  • Sub bude vytvořen okamžitě. Nyní přidejte tento řádek do tohoto sub.
Sub Open_Form () 'Otevírací formulář InvestmentForm.Show Konec Sub 

Hotovo. Vraťte se na tento list a klikněte na tlačítko. Zobrazí se uživatelský formulář.

  • Vyplňte list pomocí uživatelského formuláře VBA: Když jsme klikli na příkazové tlačítko (otevřít formulář), objeví se formulář. Nyní můžete vyplnit formulář. Když ale klikneme na tlačítko Odeslat, měla být do tohoto listu zadána data, ale nic se neděje.

Protože jsme k tomu nenapsali žádný návod vba. Potřebujeme uložit data uživatelského formuláře do listu.

  • Vraťte se do VBA a dvakrát klikněte na Předložit knoflík. Automaticky se vytvoří nový díl. Tento díl je vložen do formuláře a nemůžete jej najít v žádném modulu. To je stejné pro každý prvek formy.
  • Napište tento kód vba do tohoto dílčího.
 Private Sub SubmitButton_Click () List1.Activate 'get first empty row on sheet (read about it here) lstrow = Cells (Rows.Count, 1) .End (xlUp) .Row Set firstEmptyRow = Range ("A" & lstrow + 1 ) '' inicializujte každou buňku datem firstEmptyRow.Offset (0, 0) .Value = nameBox.Value 'první buňka firstEmptyRow.Offset (0, 1) .Value = první buňka AgeBox.Value' první firstEmptyRow.Offset (0, 3) .Hodnota = zaškrtávací přepínač „třetí buňka vpravo“ InvestBox.Value If MaleOption.Value = True Then firstEmptyRow.Offset (0, 2) .Value = "Male" 'second cell to the right Else firstEmptyRow.Offset ( 0, 2) .Hodnota = druhá buňka „Žena“ vpravo Konec If 'Uzavírací formulář Vyložit mě Konec Sub 

Výše uvedený úryvek kódu VBA se spustí po kliknutí na tlačítko Odeslat. Najde první prázdný řádek na listu a vyplní ho hodnotami poskytnutými ve formuláři. A nakonec formulář zavře pomocí příkazu „Unload Me“.

  • K zavření formuláře použijte příkaz Storno. Tlačítko pro zrušení je prozatím k ničemu. Nedělá to nic. V případě, že chcete vstup přerušit, můžete použít tlačítko Zrušit. V tom případě:

Poklepejte na příkazové tlačítko Zrušit v editoru VBA. Bude vytvořen nový sub. Chcete -li zavřít formulář uživatele, stačí napsat tento řádek kódu.

 Private Sub CancelButton_Click () 'Zavírací formulář Unload Me End Sub 

Nakonec kód formuláře bude vypadat takto.

A to je vše. To je způsob, jakým používáte excel vba userform k získání vstupu od uživatelů. V tomto článku jsme prozkoumali základní použití uživatelské formy, abyste se s ní seznámili. Je to jednoduché, pokud máte znalosti základní vba.

V budoucích článcích prozkoumáme pokročilejší funkce uživatelských forem vba v Excelu. Vytvoříme uživatelskou formu v Excelu, abychom toho zvládli mnohem víc. Prozkoumáme různé nástroje a prvky dostupné pro uživatelskou formu vba. Do té doby to procvičujte. Pokud chcete, můžete si tento soubor stáhnout jako referenci.
Takže jo, lidi, tohle byl malý a jednoduchý návod pro uživatele. Doufám, že to bylo vynalézavé. Dejte mi vědět, pokud máte v této souvislosti jakékoli pochybnosti, dejte mi vědět v sekci komentáře níže.
Související články

Změňte hodnotu/obsah několika ovládacích prvků UserForm pomocí jazyka VBA v aplikaci Excel

Zabraňte zavření formuláře uživatele, když uživatel klikne na tlačítko x pomocí VBA v aplikaci Excel

Vraťte buňky, na které odkazuje uživatel, pomocí ovládacího prvku RefEdit formuláře user v aplikaci Excel
Oblíbené články:
Funkce VLOOKUP v Excelu

COUNTIF v aplikaci Excel 2016

Jak používat funkci SUMIF v aplikaci Excel