Soru listbox boşluksuz gösterme

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
327
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
18-05-2025
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Neden benzer konuyla ilgili mükerrer başlık açıyorsunuz?

Forum kurallarını bilmiyor musunuz?

 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
327
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
18-05-2025
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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..
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
327
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
18-05-2025
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ı ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
327
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
18-05-2025
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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 Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
327
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
18-05-2025
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
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
327
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
18-05-2025
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?
Değiştirdim Korhan Bey 🙂
 
Üst