Excel VBA Çok Sütunlu Combo Box - Kolay Excel Makroları

İçindekiler

Aşağıda bir programa bakacağız Excel VBA'sı içeren bir Kullanıcı formu oluşturan çok sütunlu birleşik giriş kutusu.

Oluşturacağımız Userform aşağıdaki gibi görünüyor:

Bu Kullanıcı formunu oluşturmak için aşağıdaki adımları uygulayın.

1. Visual Basic Düzenleyicisini açın. Proje Gezgini görünmüyorsa, Görünüm, Proje Gezgini'ne tıklayın.

2. Ekle, Kullanıcı formu'na tıklayın. Araç Kutusu otomatik olarak görünmezse, Görünüm, Araç Kutusu'nu tıklayın. Ekranınız aşağıdaki gibi ayarlanmalıdır.

3. Etiketi, birleşik giriş kutusunu ve komut düğmelerini ekleyin. Bu tamamlandığında, sonuç daha önce gösterilen Kullanıcı Formu resmiyle tutarlı olmalıdır. Örneğin, Araç Kutusu'ndan ComboBox'a tıklayarak bir birleşik giriş kutusu kontrolü oluşturun. Ardından, Userform'da bir birleşik giriş kutusunu sürükleyebilirsiniz.

4. Kontrollerin adlarını ve başlıklarını değiştirebilirsiniz. Adlar Excel VBA kodunda kullanılır. Altyazılar, ekranınızda görünenlerdir. Kontrollerin adlarını değiştirmek iyi bir uygulamadır, ancak bu örnekte sadece birkaç kontrole sahip olduğumuz için burada gerekli değildir. Kullanıcı formu, etiket ve komut düğmelerinin başlığını değiştirmek için Görünüm, Özellikler Penceresi'ne tıklayın ve her bir kontrole tıklayın.

5. Kullanıcı formunu göstermek için çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırını ekleyin:

Özel Alt KomutDüğmesi1_Click()
KullanıcıForm1.Göster
Alt Bitiş

Şimdi Sub UserForm_Initialize'ı oluşturacağız. Kullanıcı formu için Göster yöntemini kullandığınızda, bu alt otomatik olarak yürütülecektir.

6. Visual Basic Düzenleyicisini açın.

7. Proje Gezgini'nde, UserForm1'e sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.

8. Soldaki açılır listeden Kullanıcı formu'nu seçin. Sağdaki açılır listeden Başlat'ı seçin.

9. Aşağıdaki kod satırlarını ekleyin:

Özel Alt UserForm_Initialize()
ComboBox1.ColumnCount = 2
Dim Filmler (1'den 5'e, 1'den 2) Dize Olarak
Dim i As Integer, j As Integer
Filmler(1, 1) = "Yüzüklerin Efendisi"
Filmler(2, 1) = "Hız"
Filmler(3, 1) = "Yıldız Savaşları"
Filmler(4, 1) = "Baba"
Filmler(5, 1) = "Ucuz Roman"
Filmler(1, 2) = "Macera"
Filmler(2, 2) = "Aksiyon"
Filmler(3, 2) = "Bilim Kurgu"
Filmler(4, 2) = "Suç"
Filmler(5, 2) = "Drama"
ComboBox1.List = Filmler
Alt Bitiş

Açıklama: İlk kod satırı, birleşik giriş kutusunun sütun sayısını 2'ye ayarlar. Çalışma zamanında sütun sayısını ayarlamak yerine, bu ayarı tasarım zamanında da yapılandırabilirsiniz. Bunu başarmak için, açılan kutu kontrolüne sağ tıklayın, Özellikler'e tıklayın ve ColumnCount özelliğini 2'ye ayarlayın. Daha sonra, iki boyutlu bir dizi bildiriyor ve başlatıyoruz. Son kod satırı, diziyi birleşik giriş kutusuna atar.

Şimdi Userform'un ilk bölümünü oluşturduk. Halihazırda düzgün görünse de, Userform üzerinde komut butonlarına tıkladığımızda henüz hiçbir şey olmayacak.

10. Proje Gezgini'nde, UserForm1'e çift tıklayın.

11. Tamam düğmesine çift tıklayın.

12. Aşağıdaki kod satırlarını ekleyin:

Özel Alt KomutDüğmesi1_Click()
Beni Kaldır
MsgBox "Seçtiğiniz" & ComboBox1.Value
Hatada Devam Et Sonraki
MsgBox "Beğendiniz" & ComboBox1.Column(1) & "filmler"
Alt Bitiş

Not: Bu kod satırları Excel VBA Kullanıcı Formunu kapatır ve seçilen öğeyi ve türü görüntüler. 'On Error Resume Next' ifadesi, kullanıcı kendi filmini doldurduğunda (bu durumda uygun tür yoktur) hatayı yok sayar.

13. İptal düğmesine çift tıklayın.

14. Aşağıdaki kod satırını ekleyin:

Özel Alt KomutDüğmesi2_Click()
Beni Kaldır
Alt Bitiş

Hız'ı seçtiğinizde ve Tamam'ı tıkladığınızda sonuç.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave