/ / Excel VBA Çok Kanallı Birleştirilmiş Kutu

Excel VBA Çok Kanallı Birleştirilmiş Kutu

Aşağıda bir programa bakacağız Excel VBA hangi içeren bir Userform oluşturur multicolumn açılan kutu.

Oluşturulacak olan Userform aşağıdaki gibi görünür:

Excel VBA'da Çok Kanallı Birleşik Kutu

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

1. Visual Basic Düzenleyicisi'ni açın. Proje Gezgini görünmüyorsa, Görüntüle, Proje Gezgini'ni tıklatın.

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

Excel VBA'da Kullanıcı Formu Ekranı Kurulumu

3. Etiket, birleşik kutu ve komut düğmelerini ekleyin. Bu tamamlandıktan sonra sonuç, daha önce gösterilen Kullanıcı Formunun resmi ile tutarlı olmalıdır. Örneğin, araç kutusundan ComboBox'ı tıklatarak bir açılan kutu denetimi oluşturun. Ardından, Kullanıcı Formu'ndaki bir açılan kutu sürükleyebilirsiniz.

4. Kontrollerin isimlerini ve başlıklarını değiştirebilirsiniz. Adlar Excel VBA kodunda kullanılır. Altyazılar, ekranınızda görünenlerdir. Kontrollerin isimlerini değiştirmek iyi bir uygulamadır, ancak burada gerekli değildir çünkü bu örnekte sadece birkaç kontrolümüz vardır. Kullanıcı formu, etiket ve komut düğmelerinin altyazısını değiştirmek için, Görünüm, Özellikler Penceresi'ni tıklayın ve her bir denetimi 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:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Şimdi Sub UserForm_Initialize oluşturacağız. Userform için Show yöntemini kullandığınızda, bu sub otomatik olarak yürütülür.

6. Visual Basic Düzenleyicisi'ni 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 Userform'u seçin. Sağdaki açılır listeden Sıfırla'yı seçin.

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

Private Sub UserForm_Initialize()

ComboBox1.ColumnCount = 2

Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer

Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"

Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"

ComboBox1.List = Films

End Sub

Açıklama: İlk kod satırı, açılan kutunun 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 yapmak için, açılan kutu denetiminde farenin sağ tuşunu tıklayın, Özellikler'i tıklayın ve ColumnCount özelliğini 2 olarak ayarlayın. Ardından, iki boyutlu bir diziyi ilan edip başlatacağız. Son kod satırı, diziyi açılan kutuya atar.

Şimdi, Userform'un ilk bölümünü oluşturduk. Zaten düzgün görünüyor olsa da, Kullanıcı Formu'ndaki komut düğmelerini tıkladığınızda henüz 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:

Private Sub CommandButton1_Click()

Unload Me

MsgBox "You selected " & ComboBox1.Value

On Error Resume Next
MsgBox "You like " & ComboBox1.Column(1) & " movies"

End Sub

Not: Bu kod satırları Excel VBA Kullanıcı Formunu kapatır ve seçilen öğeyi ve türünü görüntüler. Kullanıcının kendi filmini doldurması durumunda "Hata Devam Et Sonraki" deyimi, hatayı yok sayar (bu durumda kullanılabilir bir tür yoktur).

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

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

Private Sub CommandButton2_Click()

Unload Me

End Sub

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

Multicolumn Combo Box Sonuç

Multicolumn Combo Box Sonuç

Ayrıca oku: