Codeer of programmeer een gegevensvalidatielijst - VBA-codevoorbeelden

Inhoudsopgave

Deze zelfstudie laat zien hoe u gegevensvalidatie kunt gebruiken om te werken met vervolgkeuzelijsten in Excel met behulp van VBA.

Met Excel-gegevensvalidatie kunt u beperken welke waarde(n) in een cel of bereik mogen worden ingevoerd. U kunt de invoer beperken tot positieve gehele getallen, tekst, datums en nog veel meer. In deze zelfstudie gaan we kijken hoe u een vervolgkeuzelijst voor gegevensvalidatie in een cel kunt maken met behulp van VBA.

Opmerking: een alternatief voor een vervolgkeuzelijst voor gegevensvalidatie is een ListBox-object. ListBoxen kunnen worden toegevoegd aan Excel-werkbladen. ListBoxen kunnen macro's activeren die worden uitgevoerd telkens wanneer een ListBox-waarde wordt gewijzigd. ListBoxen worden ook gebruikt in VBA-gebruikersformulieren.

Een vervolgkeuzelijst maken met VBA

We hebben de tekst Fruit in cel A1 en we gaan een vervolgkeuzelijst maken in cel A2, met vijf items.

We gebruiken de methode Validation.Add en specificeren dat de parameter Type xlValidateList is. U kunt de specifieke items die u wilt toevoegen aan uw lijst met behulp van de Formula1-parameter.

De volgende code maakt een vervolgkeuzelijst voor gegevensvalidatie in cel A2:

123456 Sub DropDownListinVBA()Range("A2").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formula1:="Oranje, Appel, Mango, Peer, Perzik"Einde sub

Het resultaat is:

Vul een vervolgkeuzelijst in vanuit een benoemd bereik in VBA

U kunt een benoemd bereik gebruiken dat de items bevat om een ​​vervolgkeuzelijst in VBA te vullen. We hebben het genoemde assortiment Dieren hieronder weergegeven:

We moeten de Formula1-parameter gelijk stellen aan het genoemde bereik. De volgende code maakt een vervolgkeuzelijst voor gegevensvalidatie in cel A7 op basis van de items in het genoemde bereik:

123456 SubpopulateFromAnamedRange()Range ("A7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formule1:="=Dieren"Einde sub

Het resultaat is:

De vervolgkeuzelijst verwijderen

U kunt de methode Validation.Delete gebruiken om de vervolgkeuzelijst uit de cel te verwijderen. De volgende code verwijdert de vervolgkeuzelijst uit cel A7 in het bovenstaande voorbeeld:

12345 Sub VerwijderDropDownList()Bereik ("A7"). Validatie.VerwijderenEinde sub
wave wave wave wave wave