Microsoft Excel je výkonný software, který vám umožňuje nejen pracovat s číselnými daty, ale také vytvářet vlastní formuláře pro zadávání a zobrazování informací. Pokud potřebujete vytvořit formulář s rozevíracím seznamem v Excelu, můžete k automatizaci tohoto procesu použít programovací jazyk VBA (Visual Basic for Applications).
V tomto článku se podíváme na to, jak vytvořit formulář s rozevíracím seznamem pomocí VBA Excel. Nejprve byste měli otevřít Editor VBA, který najdete na kartě Vývojář na pásu karet Excel. Poté vytvořte nový modul, kde budete psát svůj kód.
Váš formulář se bude skládat z rozevíracího seznamu, který bude obsahovat určitou sadu hodnot. Chcete-li vytvořit takový seznam, můžete použít ovládací prvek "ComboBox". Ve svém kódu můžete přidat požadované hodnoty do vlastnosti" List "ComboBox pomocí metody "AddItem". Výchozí hodnotu můžete také nastavit pomocí vlastnosti "Value" ComboBox.
Krok 1: Otevřete Editor kódu
Před vytvořením formuláře s rozevíracím seznamem v aplikaci VBA Excel musíte otevřít editor kódu, abyste mohli napsat požadovaný kód. Chcete-li to provést, postupujte podle následujících kroků:
- Otevřete Excel a vyberte kartu Vývojář. Pokud se tato karta nezobrazí na hlavním panelu aplikace Excel, musíte ji povolit.
- Na kartě Vývojář klikněte na tlačítko Editor VBA nebo Visual Basic (v závislosti na verzi Excelu) a otevřete editor kódu.
Po dokončení těchto kroků se otevře editor kódu VBA, kde budete moci psát a upravovat kód pro vytvoření formuláře s rozevíracím seznamem.
Krok 2: Vytvořte nový tvar
Chcete-li vytvořit nový formulář s rozevíracím seznamem VBA Excel, postupujte podle těchto jednoduchých kroků:
- Otevřete Editor VBA výběrem " Vývojář "v horní liště aplikace Excel a kliknutím na tlačítko"makra".
- Kliknutím na tlačítko" Vytvořit " vytvoříte nový tvar.
- V okně, které se zobrazí, vyberte " vlastní formulář "a klikněte na"OK".
- V novém okně pro návrh formuláře budete moci přidat ovládací prvky.
Nyní, když máte nový formulář, jste připraveni přejít k dalšímu kroku a přidat rozevírací seznam.
Krok 3: přidejte položku "ComboBox"
K přidání rozevíracího seznamu do formuláře se používá ovládací prvek "ComboBox". Tato položka umožňuje uživateli vybrat si jednu z předdefinovaných možností.
Chcete-li do formuláře přidat prvek "ComboBox", postupujte takto:
- Otevřete režim tvůrce formuláře výběrem možnosti " Režim vývojáře "na kartě Soubor.
- V panelu Ovládací prvky vyberte položku ComboBox.
- Stiskněte levé tlačítko myši na tvaru na místě, kam chcete umístit položku "ComboBox".
- Na Formuláři se objeví prvek " ComboBox "s nápisem"ComboBox1".
- Změňte vlastnosti položky "ComboBox" podle vašeho výběru. Můžete například změnit jeho výšku, šířku, přidat seznam možností.
Jakmile do formuláře přidáte položku "ComboBox" a upravíte jeho vlastnosti, můžete začít psát kód, který bude proveden při výběru konkrétní možnosti ze seznamu.
Krok 4: nakonfigurujte nastavení rozevíracího seznamu
Jakmile vytvoříte rozevírací seznam na formuláři, musíte nakonfigurovat jeho nastavení pro další použití.
1. Vyberte rozevírací seznam na formuláři kliknutím na něj levým tlačítkem myši.
2. V nabídce vlastností, která se zobrazí napravo od formuláře, vyhledejte pole "ListFillRange". V tomto poli musíte zadat rozsah buněk, ze kterých se bude brát seznam hodnot pro rozevírací seznam.
Poznámka: Ujistěte se, že rozsah buněk v poli "ListFillRange" obsahuje hodnoty jednoho sloupce
3. Zadejte rozsah buněk pro seznam hodnot, jako je "B2:B5".
4. Stisknutím klávesy Enter použijete změny.
Nyní bude váš rozevírací seznam vyplněn hodnotami ze zadaného rozsahu buněk. Tento rozsah můžete kdykoli změnit a aktualizovat seznam hodnot.
Krok 5: programovat logiku fungování seznamu
Nyní, když máme rozevírací seznam, Naučme se programovat jeho chování. Chceme, aby při výběru určité hodnoty ze seznamu fungovala určitá logika.
Chcete-li začít, vyberte buňku nebo rozsah buněk, kde bude umístěn váš rozevírací seznam. Poté přejděte na kartu Vývojář na pásu karet nástrojů a klikněte na tlačítko Nástroje pro správu formulářů. Vyberte nástroj seznam a kliknutím na pracovní list vytvořte seznam.
Nyní, abychom přidali logiku fungování seznamu, budeme muset využít událost "Změna" buňky, ve které je seznam umístěn. Chcete-li to provést, otevřete editor kódu kliknutím na tlačítko "Editor Visual Basic" na kartě Vývojář.
V okně editoru kódu, které se otevře, vyhledejte svůj seznam na pravé straně okna, vyberte jej a poté přidejte další kód:
Sub ComboBox1_Change() Dim selectedValue As String selectedValue = ComboBox1.Value 'zde lze provést určité akce v závislosti na zvolené hodnotě ze seznamu If selectedValue = "Hodnota1" Then 'provést kroky pro hodnotu1 ElseIf selectedValue = "Hodnota2" Then 'provést kroky pro hodnotu2 ElseIf selectedValue = "Hodnota3" Then ' provést kroky pro hodnotu3 End If End Sub
Zde oznamujeme proměnnou selectedValue, která uloží vybranou hodnotu ze seznamu. Poté přiřadíme této proměnné hodnotu vybranou v seznamu.
Poté můžeme použít podmíněné příkazy IF a ELSEIF ke kontrole zvolené hodnoty a provedení určitého kódu v závislosti na této hodnotě. V našem příkladu zkontrolujeme každou hodnotu, kterou lze vybrat ze seznamu, a pokud zvolená hodnota odpovídá jedné z možností, provedeme určité kroky.
Jakmile přidáte tento kód, uložte a zavřete editor kódu. Nyní, když vyberete hodnotu v seznamu, bude provedena odpovídající logika, kterou jste do kódu přidali.
V tomto kroku jsme se naučili programovat logiku fungování seznamu. Nyní můžete vytvořit rozevírací seznam se správnými možnostmi a určit, jaká logika by měla být provedena při výběru každé hodnoty.