Šī apmācība parādīs, kā izmantot datu validāciju darbam ar nolaižamajiem sarakstiem programmā Excel, izmantojot VBA.
Excel datu validācija ļauj ierobežot to, kādu vērtību var ievadīt šūnā vai diapazonā. Ierakstus var ierobežot ar pozitīviem veseliem skaitļiem, tekstu, datumiem un daudz ko citu. Šajā apmācībā mēs apskatīsim, kā šūnā izveidot datu validācijas nolaižamo sarakstu, izmantojot VBA.
Piezīme. Alternatīva nolaižamajam datu validācijas sarakstam ir ListBox objekts. ListBoxes var pievienot Excel darblapām. ListBoxes var aktivizēt makro, kas darbojas katru reizi, kad tiek mainīta ListBox vērtība. ListBoxes tiek izmantotas arī VBA Userforms.
Nolaižamā saraksta izveide, izmantojot VBA
Šūnā A1 ir teksts Augļi, un šūnā A2 izveidosim nolaižamo sarakstu ar pieciem ierakstiem.
Mēs izmantosim metodi Validation.Add un norādīsim, ka parametrs Type ir xlValidateList. Jūs varat pievienot konkrētus vienumus, kurus vēlaties savā sarakstā, izmantojot parametru Formula1.
Šāds kods šūnā A2 izveidos nolaižamo datu validācijas sarakstu:
123456 | Sub DropDownListinVBA ()Diapazons ("A2"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "Apelsīns, ābols, mango, bumbieris, persiks"Beigu apakš |
Rezultāts ir šāds:
Aizpildiet nolaižamo sarakstu no nosaukta diapazona VBA
Varat izmantot nosauktu diapazonu, kurā ir vienumi, lai aizpildītu nolaižamo sarakstu VBA. Mums ir nosaukti diapazona dzīvnieki, kas parādīti zemāk:
Mums ir jāiestata parametrs Formula1 vienāds ar nosaukto diapazonu. Šāds kods šūnā A7 izveidos nolaižamo datu validācijas sarakstu, pamatojoties uz nosauktajā diapazonā esošajiem vienumiem:
123456 | Sub populateFromANamedRange ()Diapazons ("A7"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Dzīvnieki"Beigu apakš |
Rezultāts ir šāds:
Nolaižamā saraksta noņemšana
Lai noņemtu nolaižamo sarakstu no šūnas, varat izmantot metodi Validation.Delete. Šis kods noņemtu nolaižamo sarakstu no šūnas A7 iepriekš minētajā piemērā:
12345 | Sub RemoveDropDownList ()Diapazons ("A7"). Validation.DeleteBeigu apakš |