ComboBox (Birleşik Giriş Kutusu) açılır liste görünümünde bir ActiveX denetimidir. Kullanıcı açılır listeden seçim yapar ve ilgili komut çalışır.
Geliştirici sekmesinde, Ekle butonunda, ActiveX Denetimleri bölümünde Birleşik Giriş Kutusuna tıklayın:
ComboBox özelliklerini ayarlamak için Tasarım Moduna tıklayın. ComboBox tıklayın ve yukarıdan Özelliklere tıklayın ve gerekli ayarları yapın.
Aşağıdaki komut ComboBox’ın bulundu sayfa her aktive edildiğinde çalışma sayfalarının adını listeye yükler:
Private Sub Worksheet_Activate()
Dim Sayfa As Worksheet
Me.CBSayfa.Clear
For Each Sayfa In ThisWorkbook.Worksheets
Me.CBSayfa.AddItem Sayfa.Name
Next Sayfa
End Sub
Code language: VB.NET (vbnet)
Not: Eğer VBA kullanmadan listeyi doldurmak isterseniz ComboBox özellikler penceresindeki ListFillRange alanını doldurun. Örneğin D2:D4 yazarsanız D2, D3 ve D4 hücrelerindeki değerler listeye eklenmiş olur. Başka bir sayfadan listeye şu şekilde ekleme yapabilirsiniz: ListFillRange: Data!D2:D4
Aşağıdaki komutla kullanıcı açılır listeden seçtiği sayfaya gidebilir:
Private Sub CBSayfa_Change()
If CBSayfa.Value <> "Lütfen seçiniz..." Then
On Error GoTo HATA
Worksheets(CBSayfa.Value).Select
End If
HATA:
CBSayfa.Value = "Lütfen seçiniz..."
End Sub
Code language: VB.NET (vbnet)
Not: Excel açıldığında sayfa zaten aktifse ilgili sayfa listesi Worksheet_Activate() olayı tetiklenmeyeceği için ComboBox’a yüklenmeyecektir. Bunu önlemek için ThisWorkbook kod sayfasına aşağıdaki kodu eklemek gerekir:
Private Sub Workbook_Open()
If ActiveSheet.Name = "Sayfa1" Then
Worksheets("Sayfa2").Select
Worksheets("Sayfa1").Select
End If
End Sub
Code language: VB.NET (vbnet)