VBA ComboBox - Jak vytvořit a používat ComboBox ve VBA?

ComboBox aplikace Excel VBA

ComboBox je funkce uživatelského formuláře ve VBA , liší se od textových polí, protože textová pole obsahují pouze text a umožňujeme uživateli zadávat jakýkoli typ dat, ale pomocí kombinovaných polí omezujeme uživatele na požadovaný typ odpovědí data jsou tedy uspořádaná, jsou podobná ověření seznamu dat v aplikaci Excel.

ComboBox lze přirovnat k rozevíracímu seznamu v aplikaci Excel, v pracovních listech. Použili jsme ověření dat k poskytnutí rozevíracího seznamu, ale ve VBA existuje funkce uživatelského formuláře, kde se používá k poskytnutí rozevíracího seznamu v jakékoli uživatelské podobě, ale pokud chceme použít rozbalovací seznam v aplikaci Excel, můžeme také k němu přistupujeme z části pro vývojáře, kde můžeme vytvořit rozbalovací pole pro jednotlivé nebo více buněk.

Rozbalovací seznam je velmi podobný rozevíracímu seznamu, který máme v listu aplikace Excel; pomocí pole se seznamem můžeme ukládat předem určené hodnoty, aby uživatelé zpřístupnili výběr ze seznamu v poli se seznamem. Combo Box se obecně používá společně s uživatelskými formuláři jako součást získávání vstupů od uživatelů.

Uživatelské formuláře jsou užitečné, ale díky použití jiných nástrojů ve formuláři uživatele je formulář uživatele tak výjimečný. Jedním z nástrojů, které často používáme jako nástroj pro uživatelskou formu, je „ComboBox“.

Nejlepší 2 způsoby, jak vytvořit VBA ComboBox

# 1 - Použití přímého kódování

Nejprve uvidíme, jak používat Combo Box s listem. Otevřete kterýkoli z listů v sešitu aplikace Excel, přejděte na kartu Vývojář a na této kartě máme nástroj s názvem „Vložit“. Klikněte na toto a pod tím máme dvě možnosti ovládacích prvků Active X a ovládacích prvků formuláře v aplikaci Excel.

Z nabídky „Ovládací prvky Active X“ vyberte „Rozevírací seznam“.

Nyní můžete tento objekt nakreslit na kterýkoli z pracovních listů.

Klikněte pravým tlačítkem na rozbalovací seznam a vyberte možnost „Vlastnosti“.

Když vyberete vlastnosti, otevře se obrovský seznam vlastností pole se seznamem.

Pro toto pole se seznamem uvedeme seznam názvů oddělení, proto změňte vlastnost názvu pole se seznamem na „DeptComboBox“.

Nyní bude toto pole se seznamem označováno názvem „DeptComboBox“. Musíme uvést předem určená jména oddělení, takže zde mám seznam názvů oddělení.

Nyní musíme tyto hodnoty přidat do seznamu se seznamem. Můžeme to udělat dvěma způsoby, prostřednictvím kódování nebo prostřednictvím správce jmen.

Poklepejte na Combobox a dostanete se k postupu makra VBA.

Když se sešit otevře, musíme tyto názvy oddělení vidět, takže dvakrát klikněte na „ThisWorkbook“.

Z rozevíracího seznamu vyberte „Sešit“.

Z možností vyberte „Otevřít“.

Nyní vytvoří mezeru jako níže.

Uvnitř tohoto makra zadejte níže uvedený kód.

Kód:

Soukromý dílčí sešit_otevření () s listy ("list1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operace" .AddItem "Audit" .AddItem "Klientský servis" Končit s koncem Sub

Dobře, teď uložte a zavřete sešit. Když sešit znovu otevřete, mohli jsme v něm vidět názvy oddělení.

# 2 - Používání UserForm

Dalším způsobem přidávání hodnot do ComboBoxu je použití uživatelského formuláře. Nejprve pojmenujte buňky jako „Oddělení“.

Přejděte do editoru jazyka a vložte uživatelský formulář z možnosti INSERT.

Nyní je vytvořen nový uživatelský formulář.

Vedle uživatelského formuláře vidíme z tohoto panelu „Toolbox“, můžeme vložit „Combo Box“.

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

Private Sub CommandButton1_Click () Dim LR As Long LR = Buňky (Rows.Count, 1). End (xlUp). Row + 1 Buňky (LR, 1). Hodnota = TextBox1.Value Buňky (LR, 2). Hodnota = ComboBox1 Koncová hodnota hodnoty

Nyní dvakrát klikněte na tlačítko „ZRUŠIT“ a přidejte níže uvedený kód.

Nyní v listu vytvořte šablonu jako níže.

Nyní spusťte uživatelský formulář a otevře se takto.

Zadejte jméno zaměstnance a v rozevíracím seznamu vyberte název oddělení.

Klikněte na tlačítko ODESLAT a podívejte se na kouzlo.

Získali jsme hodnoty zadané ve formátu tabulky, který jsme vytvořili.

Věci k zapamatování

  • COMBO BOX má také své vlastní vlastnosti.
  • Přidání hodnot do seznamu přichází dvěma způsoby. Jeden je způsob kódování a druhý je odkaz na název rozsahu.
  • COMBO BOX je obvykle součástí uživatelského formuláře.

Zajímavé články...