Kode eller programmer en datavalideringsliste - eksempler på VBA -kode

Innholdsfortegnelse

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

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave