Ta vadnica bo pokazala, kako uporabiti preverjanje podatkov za delo s spustnimi seznami v Excelu z uporabo VBA.
Preverjanje podatkov programa Excel vam omogoča, da omejite, katere vrednosti lahko vnesete v celico ali obseg. Vnose lahko omejite na pozitivna cela števila, besedilo, datume in še veliko več. V tej vadnici bomo pogledali, kako ustvariti spustni seznam za preverjanje podatkov v celici z uporabo VBA.
Opomba: Alternativa spustnemu seznamu za preverjanje veljavnosti podatkov je objekt ListBox. ListBoxes lahko dodate v Excelove delovne liste. ListBoxes lahko sprožijo makre, ki se izvajajo vsakič, ko spremenite vrednost ListBox. ListBoxes se uporabljajo tudi v uporabniških oblikah VBA.
Ustvarjanje spustnega seznama z uporabo VBA
V celici A1 imamo besedilo Sadje in v celici A2 bomo ustvarili spustni seznam s petimi vnosi.
Uporabili bomo metodo Validation.Add in podali, da je parameter Type xlValidateList. S parametrom Formula1 lahko na seznam dodate določene postavke, ki jih želite.
Naslednja koda bo ustvarila spustni seznam za preverjanje veljavnosti podatkov v celici A2:
123456 | Sub DropDownListinVBA ()Range ("A2"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "pomaranča, jabolko, mango, hruška, breskev"End Sub |
Rezultat je:
Popustite spustni seznam iz imenovanega območja v VBA
Uporabite lahko poimenovano območje, ki vsebuje elemente, da zapolnite spustni seznam v VBA. Spodaj imamo imenovane živali:
Parameter Formula1 moramo nastaviti enako imenovanemu obsegu. Naslednja koda bo ustvarila spustni seznam za preverjanje veljavnosti podatkov v celici A7 na podlagi postavk v imenovanem obsegu:
123456 | Sub PopulateFromANamedRange ()Obseg ("A7"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Živali"End Sub |
Rezultat je:
Odstranitev spustnega seznama
Če želite odstraniti spustni seznam iz celice, lahko uporabite metodo Validation.Delete. Naslednja koda bi v zgornjem primeru odstranila spustni seznam iz celice A7:
12345 | Sub RemoveDropDownList ()Obseg ("A7"). Potrditev. IzbrišiEnd Sub |