VBA ComboBox - VBA'da ComboBox Nasıl Oluşturulur ve Kullanılır?

İçindekiler

Excel VBA ComboBox

ComboBox, VBA'daki kullanıcı formu özelliğidir , metin kutuları yalnızca metin içermek için kullanıldığından metin kutularından farklıdır ve kullanıcının her türlü veriyi girmesine izin veririz, ancak açılan kutuları kullanarak kullanıcıyı istediğimiz yanıt türü için sınırlandırırız. bu nedenle veriler düzenli bir şekildedir, excel'deki liste veri doğrulamasına benzer.

ComboBox, çalışma sayfalarında excel'deki bir açılır listeyle karşılaştırılabilir. Bir açılır menü sağlamak için veri doğrulamasını kullandık, ancak VBA'da herhangi bir kullanıcı formunda açılır menü sağlamak için kullanıldığı bir kullanıcı formu özelliği var, ancak excel'de bir açılan kutu kullanmak istersek, yapabiliriz Ayrıca buradan geliştirici bölümünden de erişebilirsiniz, tek tek veya çoklu hücreler için birleşik giriş kutuları oluşturabiliriz.

Combo Box, bir excel çalışma sayfasındaki açılır listeye çok benzer; Birleşik giriş kutusu ile önceden belirlenmiş değerleri saklayabiliriz, böylece kullanıcılar listeden seçimin birleşik giriş kutusundan kullanılabilir olmasını sağlar. Combo Box genellikle kullanıcılardan girdi almanın bir parçası olarak kullanıcı formları ile birlikte kullanılır.

Kullanıcı formları kullanışlıdır ancak kullanıcı formunda başka araçlara sahip olmak, kullanıcı formunu bu kadar özel kılan şeydir. Kullanıcı formu için bir araç olarak sıklıkla kullandığımız araçlardan biri "ComboBox" dur.

VBA ComboBox Oluşturmanın En İyi 2 Yolu

# 1 - Doğrudan Kodlamayı Kullanma

İlk olarak, Combo Box'ı çalışma sayfasıyla nasıl kullanacağımızı göreceğiz. Excel çalışma kitabındaki çalışma sayfalarından herhangi birini açın, Geliştirici sekmesine gidin ve bu sekmenin altında "Ekle" adlı bir aracımız var. Bunun üzerine tıklayın ve bunun altında, excel'de iki Active X Controls & Form Controls seçeneğimiz var.

"Etkin X Denetimleri" nden "Birleşik Giriş Kutusu" nu seçin.

Şimdi bu nesneyi çalışma sayfalarından herhangi birine çizebilirsiniz.

Birleşik giriş kutusuna sağ tıklayın ve "Özellikler" seçeneğini seçin.

Özellikleri seçtiğinizde, birleşik giriş kutusunun büyük bir özellik listesi açılacaktır.

Bu birleşik kutu için, bölüm adlarının bir listesini vereceğiz, bu nedenle, birleşik giriş kutusunun name özelliğini "DeptComboBox" olarak değiştirin.

Şimdi bu birleşik giriş kutusu "DeptComboBox" adıyla anılacaktır. Önceden belirlenmiş departman adları vermemiz gerekiyor, bu yüzden burada departman adlarının bir listesi var.

Şimdi bu değerleri açılan kutu listesine eklememiz gerekiyor. Bunu kodlama veya isim yöneticisi aracılığıyla iki şekilde yapabiliriz.

Combobox'a çift tıklayın ve sizi VBA makro prosedürüne götürecektir.

Ancak çalışma kitabı açıldığında bu departman adlarını görmemiz gerekiyor, bu yüzden "ThisWorkbook" a çift tıklayın.

Açılır listeden "Çalışma Kitabı" nı seçin.

Seçeneklerden "Aç" ı seçin.

Şimdi aşağıdaki gibi bir boşluk oluşturacaktır.

Bu makronun içine aşağıdaki kodu girin.

Kod:

Özel Alt Çalışma Kitabı_Open () Çalışma Sayfaları ile ("Sayfa1"). DeptComboBox .AddItem "Finans" .AddItem "Pazarlama" .AddItem "Merchandising" .AddItem "İşlemler" .AddItem "Denetim" .AddItem "İstemci Hizmeti" Son Alt ile Bitir

Tamam, şimdi çalışma kitabını kaydedin ve kapatın. Çalışma kitabını yeniden açtığınızda, içinde departman adlarını görebiliriz.

# 2 - UserForm'u Kullanma

ComboBox'a değer eklemenin başka bir yolu da kullanıcı formunu kullanmaktır. Önce hücrelere "Bölüm" olarak bir ad verin.

Visual Basic Editor'a gidin ve INSERT seçeneğinden User Form'u ekleyin.

Şimdi yeni kullanıcı formu oluşturulmuştur.

Kullanıcı formunun yanında, bu araç kutusundan "Araç Kutusu" görebiliriz, "Combo Box" ekleyebiliriz.

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

Özel Alt CommandButton1_Click () Dim LR As Long LR = Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Hücre (LR, 1) .Value = TextBox1.Value Hücreleri (LR, 2) .Değer = ComboBox1 Değer Son Alt

Şimdi “İPTAL” düğmesine çift tıklayın ve aşağıdaki kodu ekleyin.

Şimdi çalışma sayfasında aşağıdaki gibi bir şablon oluşturun.

Şimdi kullanıcı formunu çalıştırın ve bu şekilde açılacaktır.

Çalışan adını girin ve açılan listeden departman adını seçin.

GÖNDER düğmesine tıklayın ve sihri görün.

Oluşturduğumuz tablo formatında girilen değerleri aldık.

Hatırlanacak şeyler

  • COMBO BOX'un da kendine has özellikleri vardır.
  • Listeye değer eklemenin iki yolu vardır. Biri bir kodlama yolu, diğeri ise bir aralık adı referansıdır.
  • COMBO BOX genellikle kullanıcı formunun bir parçasıdır.

Ilginç makaleler...