Bu öğretici, VBA kullanarak Excel'de açılır listelerle çalışmak için Veri Doğrulama'nın nasıl kullanılacağını gösterecektir.
Excel Veri Doğrulaması, bir hücreye veya aralığa hangi değerlerin girilebileceğini sınırlamanıza olanak tanır. Girişleri pozitif tam sayılar, metin, tarihler ve çok daha fazlasıyla sınırlayabilirsiniz. Bu eğitimde, VBA kullanarak bir hücrede Veri Doğrulama Açılır Listesinin nasıl oluşturulacağına bakacağız.
Not: Veri Doğrulama Açılır listesine bir alternatif, bir ListBox nesnesidir. Liste Kutuları Excel çalışma sayfalarına eklenebilir. ListBox'lar, bir ListBox değeri her değiştirildiğinde çalışan makroları tetikleyebilir. Liste Kutuları ayrıca VBA Kullanıcı Formlarında da kullanılır.
VBA Kullanarak Açılır Liste Oluşturma
A1 hücresinde Fruit metnine sahibiz ve A2 hücresinde beş girişli bir açılır liste oluşturacağız.
Validation.Add yöntemini kullanacağız ve Type parametresinin xlValidateList olduğunu belirteceğiz. Formül1 parametresini kullanarak listenize eklemek istediğiniz belirli öğeleri ekleyebilirsiniz.
Aşağıdaki kod, A2 hücresinde bir veri doğrulama açılır listesi oluşturacaktır:
123456 | Alt DropDownListinVBA()Range("A2").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formula1:="Portakal, Elma, Mango, Armut, Şeftali"Alt Bitiş |
Sonuç:
VBA'da Adlandırılmış Bir Aralıktan Açılan Listeyi Doldurun
VBA'da bir açılır listeyi doldurmak için öğeleri içeren adlandırılmış bir aralık kullanabilirsiniz. Aşağıda gösterilen adlandırılmış Hayvanlar aralığına sahibiz:
Formula1 parametresini adlandırılmış aralığa eşit olarak ayarlamalıyız. Aşağıdaki kod, adlandırılmış aralıktaki öğelere dayalı olarak A7 hücresinde bir veri doğrulama açılır listesi oluşturacaktır:
123456 | Alt PopulateFromANamedRange()Range("A7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formula1:="=Hayvanlar"Alt Bitiş |
Sonuç:
Açılır Listeyi Kaldırma
Açılır listeyi hücreden kaldırmak için Validation.Delete yöntemini kullanabilirsiniz. Aşağıdaki kod, yukarıdaki örnekte A7 hücresindeki açılır listeyi kaldırır:
12345 | Alt RemoveDropDownList()Aralık("A7").Validation.DeleteAlt Bitiş |