Jak používat ComboBox v uživatelské formě VBA Excel?

Obsah:

Anonim

Kombinovaný box na uživatelském formuláři je jako rozbalovací nabídka, kterou lze použít k výběru možnosti z dostupných možností. Je to jako rozevírací seznam, který vytváříme pomocí ověřování dat na listech.

Ve většině digitálních forem jste museli vidět alespoň jedno pole se seznamem. Mohlo to být pro výběr státu ze seznamu států, kurzu ze seznamu kurzů, země ze seznamu zemí atd. V tomto článku se naučíme, jak přidat combobox do uživatelské formy VBA, jak inicializovat combobox s hodnotami a jak načíst hodnotu z comboboxu.

Přidání ComboBoxu do uživatelského formuláře

Chcete -li přidat kombobox do uživatelského formuláře, musíte nejprve mít uživatelský formulář. Dah !.

Otevřete tedy VBE pomocí CTRL+F11. Klikněte pravým tlačítkem na sešit, přejděte na vložení a klikněte na Userform. Máte přidaný uživatelský formulář. Další informace o uživatelských formulářích ve VBA si můžete přečíst zde.

Nyní z panelu nástrojů vyberte combobox. Je to čtvrtá možnost v horní řadě. Pokud nevidíte panel nástrojů. Přejděte v nabídce na Zobrazit, klikněte na Toolbox. Zobrazí se panel nástrojů.

Přidal jsem štítek států, protože tento kombobox bude obsahovat seznam některých stavů a ​​tlačítko pro odeslání k odeslání formuláře.

Jak inicializovat combobox v uživatelské formě?

Toto je část, kde většina lidí dělá chyby. Někdy studenti napíšou kód pro načtení hodnot do comboboxu a poté odešlou tlačítka. A když načtou uživatelský formulář, nezobrazí combobox žádné hodnoty.

Chcete -li načíst combobox, měli byste před načtením uživatelského formuláře napsat kód. To lze provést v modulu, c nebo tlačítku, kde načtete formulář. Kód pro načtení seznamu combobox by měl být před příkazem formname.show.

Načítání Comboboxu do podprogramu volání UserForm

Řekněme, že chci naprogramovat nějaké pole ve stavovém comboboxu. Napíšu tedy podprogram, který načte uživatelský formulář k vyplnění informací. Viz níže uvedený kód.

Stavy subload_userform () = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = stavy UserForm1.Show End Sub 

Definuji pole „států“, které obsahuje několik názvů indických států. Nyní používám uživatelské jméno pro přístup k comboboxu, protože combobox je součástí userform.

Moje uživatelské jméno je userform1. A název comboboxu je combobox1. Toto jsou výchozí názvy. Můžete je změnit v okně vlastností.

Dále inicializuji vlastnost seznamu comboboxu se stavy.

A pak ukážu userform1 pomocí příkazu show.

Když spustíte výše uvedený kód, bude mít combobox všechny uvedené stavy.

Inicializace Comboboxu pomocí události UserForm_Initialize ().

Další metodou načítání komponent comboboxu na userform je použití události Userform Initialize. Tato událost se spustí před načtením uživatelského formuláře. Cokoli chcete provést před načtením uživatelského formuláře, můžete to udělat zde. Jednou z těchto věcí je načítání prvků comboboxu.

Poklepáním na uživatelský formulář otevřete oblast kódování v objektu userform. Nyní z levé rozevírací nabídky vyberte uživatelský formulář. Potom z pravé rozevírací nabídky vyberte inicializovat.

Bude vložen prázdný pod název UserForm_Initialize (). Cokoli napsané v tomto dílčím odstavci bude provedeno, než se zobrazí uživatelská forma.

Zde tedy napíšeme inicializační kód pro combobox.

Soukromý sub UserForm_Initialize () uvádí = Array („Dillí“, „UP“, „Spojené království“, „Gujrat“, „Kašmír“) UserForm1.ComboBox1.List = uvádí Konec Sub 

Všimněte si, že zde nemáme příkaz userform1.show. Stále je v tom modulu. Tento díl bude použit k získání naší uživatelské formy na obrazovce.

Sub load_userform () UserForm1. Zobrazit konec Sub 

Uživatelé tedy spustí dílčí soubor load_userform pomocí nějakého prvku přiřazeného příkazu, tlačítka nebo makra. Když kompilátor spustí příkaz code userform1.show, okamžitě spustí událost useforma_initialize (). Poté se zobrazí uživatelská forma uživatelům.

Poznámky:

Pokud napíšete kód pro inicializaci comboboxu s hodnotami v příkazovém tlačítku1, kombobox nic nezobrazí.

Chcete -li inicializovat combobox s hodnotami, načtěte jej v každém případě, ke kterému dojde, než uživatel dosáhne comboboxu k vyplnění.

Načítání hodnoty z ComboBoxu

K získání informací tedy používáme formuláře. A abychom tyto informace mohli použít, musíme je získat. Chcete -li získat jakoukoli hodnotu z comboboxu uživatelského formuláře, používáme vlastnost combobox.value. Obecně načítáme hodnoty z prvků formuláře, jakmile uživatel vyplní formulář a odešle formulář pomocí tlačítka Odeslat. Můžeme tedy použít událost commandbutton_click. Vložte tedy příkazové tlačítko a napište na něj odeslat, pokud jej již nemáte. Nyní na něj dvakrát klikněte a budete uvnitř události commandButton_click.

Nyní vytvořte proměnnou pro uložení hodnoty. Pokud chcete, uložte jej na list. Nakonec formulář ukončete pomocí příkazu Unload Me. Jak je ukázáno v níže uvedeném kódu.

Private Sub CommandButton1_Click () State = ComboBox1.Value ThisWorkbook.Worksheets ("sheet1"). Range ("A1") = State Unload Me End Sub 

Takže ano, lidi, takto používáte combobox v uživatelských formách VBA. Doufám, že jsem to vysvětlil a k věci. Máte -li jakékoli dotazy týkající se tohoto tématu nebo jakékoli další otázky související s VBA, zeptejte se mě v sekci komentáře níže.

Začínáme s UserForms aplikace Excel 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.

Proměnné VBA v Excelu| VBA znamená Visual Basic for Applications. Jedná se o programovací jazyk od společnosti Microsoft. Používá se s aplikacemi Microsoft Office, jako jsou MSExcel, MS-Word a MS-Access, zatímco proměnné VBA jsou specifická klíčová slova.

Proměnný rozsah Excel VBA| Ve všech programovacích jazycích máme specifikátory přístupu k proměnným, které definují, odkud lze k definované proměnné přistupovat. Excel VBA není výjimkou. VBA má také specifikátory rozsahu.

Argumenty ByRef a ByVal | Když je argument předán jako ByRef argument jinému sub nebo funkci, je odeslán odkaz na skutečnou proměnnou. Jakékoli změny provedené v kopii proměnné se projeví v původním argumentu.

Odstraňte listy bez výzev k potvrzení pomocí VBA v aplikaci Microsoft Excel | Protože odstraňujete listy pomocí VBA, víte, co děláte. Chtěli byste říct Excelu, aby toto varování nezobrazoval a ten zatracený list smazal.

Přidat a uložit nový sešit pomocí jazyka VBA v aplikaci Microsoft Excel 2016| V tomto kódu jsme nejprve vytvořili odkaz na objekt sešitu. A pak jsme to inicializovali novým objektem sešitu. Výhodou tohoto přístupu je, že na tomto novém sešitu můžete snadno provádět operace. Stejně jako ukládání, zavírání, mazání atd

Zobrazit zprávu na stavovém řádku aplikace Excel VBA| Stavový řádek v Excelu lze použít jako monitor kódu. Když je váš kód VBA dlouhý a provádíte několik úkolů pomocí VBA, často deaktivujete aktualizaci obrazovky, abyste neviděli, že tato obrazovka bliká.

Vypněte varovné zprávy pomocí VBA v aplikaci Microsoft Excel 2016| Tento kód nejenže zakáže výstrahy VBA, ale také zvyšuje časovou účinnost kódu. Uvidíme jak.

Oblíbené články:

50 zkratek aplikace Excel pro zvýšení produktivity | Získejte rychleji svůj úkol. Těchto 50 klávesových zkratek vám umožní pracovat v Excelu ještě rychleji.

Funkce VLOOKUP v Excelu | Toto je jedna z nejpoužívanějších a nejoblíbenějších funkcí Excelu, která slouží k vyhledávání hodnot z různých rozsahů a listů.

COUNTIF v aplikaci Excel 2016 | Pomocí této úžasné funkce spočítejte hodnoty s podmínkami. K počítání konkrétních hodnot nemusíte data filtrovat. Funkce Countif je nezbytná pro přípravu řídicího panelu.

Jak používat funkci SUMIF v aplikaci Excel | Toto je další základní funkce řídicího panelu. To vám pomůže shrnout hodnoty za konkrétních podmínek.