• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

UserForm içindeki ComboBox ile RowSource kaynağındaki boş hücreler

Katılım
16 Ekim 2009
Mesajlar
58
Excel Vers. ve Dili
2007 Türkçe
Merhaba;

Konunun başlığından da anlaşıldığı üzere, bir UserForm'da bulunan ComboBox'lara RowSource ile belirli bir alan gösteriliyor. Ancak arada boşluklar olduğu için ComboBox'da da görülüyor bu boşluklar. İstediğim bu boşlukların görünmemesi için gerekli kod ve/veya uygulama. Yardımlarınız için şimdiden teşekkür ederim. Örnek dosya EK'tedir.
 

Ekli dosyalar

merhaba

Rowsource kısmını silin

Aşağıdakii kodları userform'un kod kısmına yapıştırın
Kod:
Private Sub UserForm_Initialize()
son = Sheets("Veri").Cells(60000, 1).End(xlUp).Row
For x = 1 To son
    If Sheets("Veri").Cells(x, 1) <> "" Then ComboBox1.AddItem Sheets("Veri").Cells(x, 1)
    Next x
End Sub
 
Çok teşekkür ederim. Ancak tam olarak olmamış, birden fazla ComboBox var ve her birinin veri kaynağı farklı. Yardımcı olursanız sevinirim.
 
Son düzenleme:
Nesnelerin RowSource olaylarına yazdığınız alan tanımlamalarını sildikten sonra aşağıdaki kodu deneyiniz.

Kod:
Private Sub UserForm_Initialize()
    Me.ComboBox1.RowSource = ""
    Me.ComboBox2.RowSource = ""
    
    For Each Veri In Sheets("Veri").Range("A2:A" & Rows.Count).SpecialCells(xlCellTypeConstants, 23)
        ComboBox1.AddItem Veri.Text
    Next
    
    For Each Veri In Sheets("Veri").Range("B2:B" & Rows.Count).SpecialCells(xlCellTypeConstants, 23)
        ComboBox2.AddItem Veri.Text
    Next
End Sub
 
Muhtemelen hücrelerden biri formül içerdiği için Hiçbir Hücre Bulunamadı hatası veriyor bunu nasıl giderebilirim?
 
Merhaba,

Bu durumda aşağıdaki kodu deneyiniz.

Kod:
Private Sub UserForm_Initialize()
    Dim S1 As Worksheet, Alan As Range
    
    Set S1 = Sheets("Veri")
    
    Me.ComboBox1.RowSource = ""
    Me.ComboBox2.RowSource = ""
    
    On Error Resume Next
    
    Set Alan = S1.Range("A2:A" & S1.Cells(Rows.Count, 1).End(3).Row)
    
    For Each Veri In Alan
        If Veri.Text <> "" Then ComboBox1.AddItem Veri.Text
    Next
    
    Set Alan = S1.Range("B2:B" & S1.Cells(Rows.Count, 2).End(3).Row)
    
    For Each Veri In Alan
        If Veri.Text <> "" Then ComboBox2.AddItem Veri.Text
    Next
    
    On Error GoTo 0

    Set S1 = Nothing
    Set Alan = Nothing
End Sub
 
Çok teşekkürler çözüm tamamdır.
 
Geri
Üst