• DİKKAT

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

Soru listbox boşluksuz gösterme

Katılım
16 Mayıs 2020
Mesajlar
327
Excel Vers. ve Dili
Office 365 Türkçe
merhaba
kodum çalışıyor a5 den a60a kadar gösteriyor ama sadece dolu satırları göstersin listboxda boşluk olmasın

Sub listebanka()
ListBox3.RowSource = "10gun!A5:A60"
ListBox3.ColumnCount = 1
ListBox3.ColumnWidths = "100"
ListBox3.ColumnHeads = True

End Sub
 
Neden benzer konuyla ilgili mükerrer başlık açıyorsunuz?

Forum kurallarını bilmiyor musunuz?

 
Neden benzer konuyla ilgili mükerrer başlık açıyorsunuz?

Forum kurallarını bilmiyor musunuz?

Özür dilerim aceleye geldi siz ilkini silermisiniz size zahmet
 
Ek olarak rica etsem profilinizde ki ofis sürümü (Vba) yazan yere kullandığınız ofis sürümünü ve dilini yazarak güncelleyebilir misiniz?
 
Eğer RowSource kullanmak istiyorsanız sayfadaki boş hücreleri silmelisiniz.

Bunun dışında boş olmayan hücreler diziye alınıp Listbox nesnesine yüklenebilir fakat bu durumda "ColumnHeads" özelliğini kullanamayacaksınız.

Tercih sizin..
 
Eğer RowSource kullanmak istiyorsanız sayfadaki boş hücreleri silmelisiniz.

Bunun dışında boş olmayan hücreler diziye alınıp Listbox nesnesine yüklenebilir fakat bu durumda "ColumnHeads" özelliğini kullanamayacaksınız.

Tercih sizin..
ColumHeads kapatsam da olur o zaman boşluklar çıkmazmı ?
 
Boş hücrelerin bahsettiğim özellik ile bir alakası yoktur.

"ColumnHeads" özelliği RowSource metoduyla beraber kullanılmaktadır.

Siz boş hücreleri dikkate almak istemediğiniz için ve eğer sayfadan boş hücreleri içeren satırları silmezseniz RowSource metodunu kullanamayacaksınız. Dolayısı ile "ColumnHeads" özelliğini de kullanamayacaksınız.

Boş hücreleri sayfadan silmek istemiyorsanız bu hücreleri atlamak için döngü ya da dizi metodunu kullanabilirsiniz.
 
Boş hücrelerin bahsettiğim özellik ile bir alakası yoktur.

"ColumnHeads" özelliği RowSource metoduyla beraber kullanılmaktadır.

Siz boş hücreleri dikkate almak istemediğiniz için ve eğer sayfadan boş hücreleri içeren satırları silmezseniz RowSource metodunu kullanamayacaksınız. Dolayısı ile "ColumnHeads" özelliğini de kullanamayacaksınız.

Boş hücreleri sayfadan silmek istemiyorsanız bu hücreleri atlamak için döngü ya da dizi metodunu kullanabilirsiniz.
Küçük bi örnek yazabilirmisiniz rica etsem müsaitseniz
 
Aşağıdaki kod 65536 satırlık veri kümesi için çalışır. Daha büyük veriler için farklı yöntem kullanmak gerekir.

C++:
Private Sub CommandButton1_Click()
    Dim Alan As Range, Veri As Variant
   
    Set Alan = Sheets("10gun").Range("A5:A60")
   
    Veri = Filter(Application.Transpose(Application.Evaluate("=IF(LEN(" & Alan.Address & ")>0," & Alan.Address & ",""#"")")), "#", False)
   
    ListBox3.List = Veri
    ListBox3.ColumnCount = 1
    ListBox3.ColumnWidths = "100"
End Sub
 
Bu kodda satır sınırlaması yoktur. Fakat sorgulanan satır sayısı artarsa veriler biraz yavaş yüklenecektir.

C++:
Private Sub CommandButton1_Click()
    Dim Veri As Variant, X As Long, Say As Long
    
    Veri = Sheets("10gun").Range("A5:A60").Value
    
    ReDim Liste(1 To 1)
    
    For X = LBound(Veri) To UBound(Veri)
        If Veri(X, 1) <> "" Then
            Say = Say + 1
            ReDim Preserve Liste(1 To Say)
            Liste(Say) = Veri(X, 1)
        End If
    Next
    
    ListBox3.List = Liste
    ListBox3.ColumnCount = 1
    ListBox3.ColumnWidths = "100"
End Sub
 
Aşağıdaki kod 65536 satırlık veri kümesi için çalışır. Daha büyük veriler için farklı yöntem kullanmak gerekir.

C++:
Private Sub CommandButton1_Click()
    Dim Alan As Range, Veri As Variant
  
    Set Alan = Sheets("10gun").Range("A5:A60")
  
    Veri = Filter(Application.Transpose(Application.Evaluate("=IF(LEN(" & Alan.Address & ")>0," & Alan.Address & ",""#"")")), "#", False)
  
    ListBox3.List = Veri
    ListBox3.ColumnCount = 1
    ListBox3.ColumnWidths = "100"
End Sub

Aşağıdaki kod 65536 satırlık veri kümesi için çalışır. Daha büyük veriler için farklı yöntem kullanmak gerekir.

C++:
Private Sub CommandButton1_Click()
    Dim Alan As Range, Veri As Variant
  
    Set Alan = Sheets("10gun").Range("A5:A60")
  
    Veri = Filter(Application.Transpose(Application.Evaluate("=IF(LEN(" & Alan.Address & ")>0," & Alan.Address & ",""#"")")), "#", False)
  
    ListBox3.List = Veri
    ListBox3.ColumnCount = 1
    ListBox3.ColumnWidths = "100"
End Sub
Korhan Bey harika oldu çok teşekkür ederim bilginize hayranım işiniz rast gelsin
 
Geri
Üst