Tento tutoriál předvede, jak pomocí Ověření dat pracovat s rozevíracími seznamy v Excelu pomocí VBA.
Ověření dat aplikace Excel vám umožňuje omezit, jaké hodnoty lze zadat do buňky nebo rozsahu. Záznamy můžete omezit na kladná celá čísla, text, data a mnoho dalšího. V tomto tutoriálu se podíváme na to, jak vytvořit rozevírací seznam pro ověření dat v buňce pomocí VBA.
Poznámka: Alternativou k rozevíracímu seznamu Ověření dat je objekt ListBox. ListBoxes lze přidat do listů aplikace Excel. ListBoxes mohou spouštět makra, která se spouštějí při každé změně hodnoty ListBox. ListBoxes se také používají ve VBA Userforms.
Vytvoření rozevíracího seznamu pomocí VBA
V buňce A1 máme text Ovoce a v buňce A2 vytvoříme rozevírací seznam s pěti položkami.
Použijeme metodu Validation.Add a určíme, že parametr Type je xlValidateList. Pomocí parametru Formula1 můžete do seznamu přidat konkrétní položky, které byste chtěli.
Následující kód vytvoří v buňce A2 rozevírací seznam pro ověření dat:
123456 | Sub DropDownListinVBA ()Rozsah ("A2"). Validation.Add Typ: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "Pomeranč, jablko, mango, hruška, broskev"End Sub |
Výsledek je:
Naplňte rozevírací seznam z pojmenovaného rozsahu ve VBA
Pojmenovaný rozsah obsahující položky můžete použít k naplnění rozevíracího seznamu ve VBA. Níže uvádíme níže uvedená pojmenovaná zvířata:
Parametr Formula1 musíme nastavit na jmenovaný rozsah. Následující kód vytvoří rozevírací seznam pro ověření dat v buňce A7 na základě položek v pojmenovaném rozsahu:
123456 | Sub PopulateFromANamedRange ()Rozsah ("A7"). Validation.Add Typ: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Zvířata"End Sub |
Výsledek je:
Odebrání rozevíracího seznamu
K odebrání rozevíracího seznamu z buňky můžete použít metodu Validation.Delete. Následující kód by odstranil rozevírací seznam z buňky A7 ve výše uvedeném příkladu:
12345 | Dílčí RemoveDropDownList ()Rozsah ("A7"). Validation.DeleteEnd Sub |