Codieren oder programmieren Sie eine Datenvalidierungsliste - VBA-Codebeispiele

Inhaltsverzeichnis

In diesem Tutorial wird gezeigt, wie Sie die Datenvalidierung verwenden, um mit Dropdown-Listen in Excel mithilfe von VBA zu arbeiten.

Mit der Excel-Datenvalidierung können Sie einschränken, welche Werte in eine Zelle oder einen Bereich eingegeben werden dürfen. Sie können Einträge auf positive ganze Zahlen, Text, Datumsangaben und vieles mehr beschränken. In diesem Tutorial sehen wir uns an, wie Sie mit VBA eine Dropdown-Liste zur Datenvalidierung in einer Zelle erstellen.

Hinweis: Eine Alternative zu einer Dropdown-Liste für die Datenvalidierung ist ein ListBox-Objekt. ListBoxen können zu Excel-Arbeitsblättern hinzugefügt werden. ListBoxes können Makros auslösen, die jedes Mal ausgeführt werden, wenn ein ListBox-Wert geändert wird. ListBoxen werden auch in VBA-Benutzerformularen verwendet.

Erstellen einer Dropdown-Liste mit VBA

Wir haben den Text Fruit in Zelle A1 und wir werden in Zelle A2 eine Dropdown-Liste mit fünf Einträgen erstellen.

Wir verwenden die Validation.Add-Methode und geben an, dass der Type-Parameter xlValidateList ist. Mit dem Parameter Formula1 können Sie die gewünschten Artikel zu Ihrer Liste hinzufügen.

Der folgende Code erstellt eine Dropdown-Liste für die Datenvalidierung in Zelle A2:

123456 Sub DropDownListenVBA()Range("A2").Validation.Add Typ:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formula1:="Orange,Apfel,Mango,Birne,Pfirsich"End Sub

Das Ergebnis ist:

Füllen Sie eine Dropdown-Liste aus einem benannten Bereich in VBA

Sie können einen benannten Bereich verwenden, der die Elemente enthält, um eine Dropdown-Liste in VBA zu füllen. Wir haben die unten aufgeführten Tiere der Reihe:

Wir müssen den Parameter Formula1 gleich dem benannten Bereich setzen. Der folgende Code erstellt eine Dropdown-Liste für die Datenvalidierung in Zelle A7 basierend auf den Elementen im benannten Bereich:

123456 Unter PopulateFromANamedRange()Range("A7").Validation.Add Typ:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formel1:="=Tiere"End Sub

Das Ergebnis ist:

Entfernen der Dropdown-Liste

Sie können die Validation.Delete-Methode verwenden, um die Dropdownliste aus der Zelle zu entfernen. Der folgende Code würde die Dropdown-Liste aus Zelle A7 im obigen Beispiel entfernen:

12345 Sub RemoveDropDownList()Bereich("A7").Validation.DeleteEnd Sub
wave wave wave wave wave