Koda eller programmera en datavalideringslista - exempel på VBA -kod

Innehållsförteckning

Denna handledning visar hur du använder datavalidering för att arbeta med rullgardinslistor i Excel med VBA.

Excel -datavalidering låter dig begränsa vilka värden som kan anges i en cell eller intervall. Du kan begränsa poster till positiva heltal, text, datum och mycket mer. I den här självstudien ska vi titta på hur du skapar en listruta för datavalidering i en cell med VBA.

Obs! Ett alternativ till en listruta för datavalidering är ett ListBox-objekt. Listboxar kan läggas till i Excel -kalkylblad. ListBoxes kan utlösa makron som körs varje gång ett ListBox -värde ändras. ListBoxar används också i VBA -användarformulär.

Skapa en nedrullningslista med VBA

Vi har texten Frukt i cell A1, och vi kommer att skapa en rullgardinsmeny i cell A2, med fem poster.

Vi använder metoden Validation.Add och anger att parametern Type är xlValidateList. Du kan lägga till de specifika objekten du vill ha i din lista med Formula1 -parametern.

Följande kod skapar en rullgardinsmeny för datavalidering i cell A2:

123456 Sub DropDownListinVBA ()Område ("A2"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "Apelsin, äpple, mango, päron, persika"Avsluta Sub

Resultatet är:

Fyll i en nedrullningslista från ett namngivet område i VBA

Du kan använda ett namngivet intervall som innehåller objekten för att fylla i en rullgardinsmeny i VBA. Vi har det namngivna intervallet Djur som visas nedan:

Vi måste ställa in Formula1 -parametern lika med det angivna intervallet. Följande kod skapar en rullgardinsmeny för datavalidering i cell A7 baserat på objekten i det angivna intervallet:

123456 Sub PopulateFromANamedRange ()Område ("A7"). Validation.Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Djur"Avsluta Sub

Resultatet är:

Ta bort rullgardinsmenyn

Du kan använda metoden Validation.Delete för att ta bort rullgardinsmenyn från cellen. Följande kod skulle ta bort rullgardinsmenyn från cell A7 i exemplet ovan:

12345 Sub RemoveDropDownList ()Område ("A7"). Validering. RaderaAvsluta Sub
wave wave wave wave wave