Denne opplæringen vil demonstrere hvordan du bruker datavalidering til å arbeide med rullegardinlister i Excel ved hjelp av VBA.
Excel -datavalidering lar deg begrense hvilken verdi du kan angi i en celle eller et område. Du kan begrense oppføringer til positive heltall, tekst, datoer og mye mer. I denne opplæringen skal vi se på hvordan du oppretter en rullegardinliste for datavalidering i en celle ved hjelp av VBA.
Merk: Et alternativ til en rullegardinliste for datavalidering er et ListBox-objekt. ListBoxes kan legges til i Excel -regneark. ListBoxes kan utløse makroer som kjøres hver gang en ListBox -verdi endres. ListBoxer brukes også i VBA -brukerformer.
Opprette en nedtrekksliste ved hjelp av VBA
Vi har teksten Fruit i celle A1, og vi skal lage en rullegardinliste i celle A2, med fem oppføringer.
Vi bruker Validation.Add -metoden og angir at parameteren Type er xlValidateList. Du kan legge til de spesifikke elementene du ønsker i listen ved å bruke Formula1 -parameteren.
Følgende kode vil opprette en rullegardinliste for datavalidering i celle A2:
123456 | Sub DropDownListinVBA ()Område ("A2"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "Appelsin, eple, mango, pære, fersken"Slutt Sub |
Resultatet er:
Fyll ut en rullegardinliste fra et navngitt område i VBA
Du kan bruke et navngitt område som inneholder elementene, til å fylle ut en rullegardinliste i VBA. Vi har det navngitte området Dyr vist nedenfor:
Vi må sette Formula1 -parameteren lik det navngitte området. Følgende kode vil opprette en rullegardinliste for datavalidering i celle A7 basert på elementene i det navngitte området:
123456 | Sub PopulateFromANamedRange ()Område ("A7"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Dyr"Slutt Sub |
Resultatet er:
Fjerner nedtrekkslisten
Du kan bruke metoden Validation.Delete til å fjerne rullegardinlisten fra cellen. Følgende kode vil fjerne rullegardinlisten fra celle A7 i eksemplet ovenfor:
12345 | Sub RemoveDropDownList ()Område ("A7"). Validering. SlettSlutt Sub |