W tym samouczku zademonstrujemy, jak używać sprawdzania poprawności danych do pracy z listami rozwijanymi w programie Excel przy użyciu języka VBA.
Sprawdzanie poprawności danych programu Excel pozwala ograniczyć wartości, które można wprowadzić w komórce lub zakresie. Możesz ograniczyć wpisy do dodatnich liczb całkowitych, tekstu, dat i wielu innych. W tym samouczku przyjrzymy się, jak utworzyć listę rozwijaną sprawdzania poprawności danych w komórce za pomocą VBA.
Uwaga: Alternatywą dla listy rozwijanej sprawdzania poprawności danych jest obiekt ListBox. ListBoxes można dodawać do arkuszy programu Excel. ListBoxes może wyzwalać makra, które są uruchamiane za każdym razem, gdy zmienia się wartość ListBox. ListBoxes są również używane w formularzach użytkownika VBA.
Tworzenie listy rozwijanej za pomocą VBA
Mamy tekst Owoce w komórce A1 i zamierzamy utworzyć listę rozwijaną w komórce A2 z pięcioma wpisami.
Użyjemy metody Validation.Add i określimy, że parametr Type to xlValidateList. Możesz dodać określone pozycje do swojej listy za pomocą parametru Formuła1.
Poniższy kod utworzy listę rozwijaną sprawdzania poprawności danych w komórce A2:
123456 | Podrzędna lista rozwijana w VBA()Range("A2").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formuła1:="Pomarańczowy,Jabłkowy,Mango,Gruszka,Brzoskwiniowy"Napis końcowy |
Wynik to:
Wypełnij listę rozwijaną z nazwanego zakresu w VBA
Możesz użyć nazwanego zakresu zawierającego elementy, aby wypełnić listę rozwijaną w VBA. Poniżej znajduje się nazwany asortyment Zwierzęta:
Musimy ustawić parametr Formuły1 równy podanemu zakresowi. Poniższy kod utworzy listę rozwijaną sprawdzania poprawności danych w komórce A7 na podstawie elementów w nazwanym zakresie:
123456 | Populacja podrzędnaOdANamedRange()Range("A7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formuła1:="=Zwierzęta"Napis końcowy |
Wynik to:
Usuwanie listy rozwijanej
Możesz użyć metody Validation.Delete, aby usunąć listę rozwijaną z komórki. Poniższy kod usunie listę rozwijaną z komórki A7 w powyższym przykładzie:
12345 | Sub UsuńDropDownList()Zakres ("A7").Weryfikacja.UsuńNapis końcowy |