Denne vejledning viser, hvordan du bruger datavalidering til at arbejde med rullelister i Excel ved hjælp af VBA.
Excel -datavalidering giver dig mulighed for at begrænse, hvilke værdier der kan indtastes i en celle eller et område. Du kan begrænse poster til positive heltal, tekst, datoer og meget mere. I denne vejledning skal vi se på, hvordan du opretter en rulleliste med datavalidering i en celle ved hjælp af VBA.
Bemærk: Et alternativ til en rulleliste med datavalidering er et ListBox-objekt. ListBoxes kan tilføjes til Excel -regneark. ListBoxes kan udløse makroer, der kører hver gang en ListBox -værdi ændres. ListBoxes bruges også i VBA -brugerformularer.
Oprettelse af en rulleliste ved hjælp af VBA
Vi har teksten Frugt i celle A1, og vi skal oprette en rulleliste i celle A2 med fem poster.
Vi vil bruge metoden Validation.Add og angive, at parameteren Type er xlValidateList. Du kan tilføje de specifikke emner, du gerne vil have på din liste, ved hjælp af parameteren Formula1.
Følgende kode vil oprette en rulleliste med datavalidering i celle A2:
123456 | Sub DropDownListinVBA ()Område ("A2"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "Appelsin, æble, mango, pære, fersken"Afslut Sub |
Resultatet er:
Befolk en rulleliste fra et navngivet område i VBA
Du kan bruge et navngivet område, der indeholder elementerne, til at udfylde en rulleliste i VBA. Vi har det navngivne område Dyr vist nedenfor:
Vi er nødt til at indstille Formula1 -parameteren lig med det navngivne område. Følgende kode vil oprette en rulleliste med datavalidering i celle A7 baseret på elementerne i det navngivne område:
123456 | Sub PopulateFromANamedRange ()Område ("A7"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Dyr"Afslut Sub |
Resultatet er:
Fjernelse af rullelisten
Du kan bruge metoden Validation.Delete til at fjerne rullelisten fra cellen. Følgende kode ville fjerne rullelisten fra celle A7 i eksemplet ovenfor:
12345 | Sub RemoveDropDownList ()Område ("A7"). Validering. SletAfslut Sub |