Listbox Yavaş Yükleme Sorunu

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
224
Excel Vers. ve Dili
Microsoft Excel 2024 Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Arkadaşlar merhaba, elimde 3 bin kişilik bir liste var ve bu liste ilk açıkuşta geç yükleniyor ve metin kutusu ile liste kutusu içerisinde kişi sorgusu yapıtmaz zaman sadece isimler birinci sütuna geliyor. Benim istağim dinleme ve sorgulama yağım zaman 4 sütunun da listboxda gözükmesi.

Bu konuda sizlerden yardım bekliyorum. Örnek dosyayı ekledim.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Verileri Userform açılışında ListBox nesnesine yüklemek için döngüye gerek yok.. Döngüler veri sayısı arttıkça yavaş performans oluşmasına sebep olur.

En hızlı yöntem RowSource yöntemi olacaktır.

C++:
Private Sub UserForm_Initialize()
    Dim My_Column As Integer, No As String
  
    With ListBox1
        .ColumnCount = 4
        .RowSource = "Sayfa1!A2:D" & Cells(Rows.Count, 1).End(3).Row

        My_Column = Cells(1, Columns.Count).End(1).Column
      
        For X = 1 To My_Column
            No = No & CLng(Columns(X).Width) & ";"
        Next
      
        .ColumnWidths = No
        .ColumnHeads = True
    End With
End Sub
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
224
Excel Vers. ve Dili
Microsoft Excel 2024 Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Merhaba,

Verileri Userform açılışında ListBox nesnesine yüklemek için döngüye gerek yok.. Döngüler veri sayısı arttıkça yavaş performans oluşmasına sebep olur.

En hızlı yöntem RowSource yöntemi olacaktır.

C++:
Private Sub UserForm_Initialize()
    Dim My_Column As Integer, No As String
 
    With ListBox1
        .ColumnCount = 4
        .RowSource = "Sayfa1!A2:D" & Cells(Rows.Count, 1).End(3).Row

        My_Column = Cells(1, Columns.Count).End(1).Column
     
        For X = 1 To My_Column
            No = No & CLng(Columns(X).Width) & ";"
        Next
     
        .ColumnWidths = No
        .ColumnHeads = True
    End With
End Sub
Korhan hocam bir de listboxda hızlı sorgulama konusunda yardımcı olsanız. Örneğin isminde "Ahmet" geçenlerin hepsini sorgulayabilir mi?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Linkte güzel bir konu işlenmişti... İnceleyebilirsiniz. Konu başlığında farklı başlıklara yönlendirme var. Onlarıda incelemenizi tavsiye ederim.



Yetersiz gelirse diğer sonuçlarda inceleyebilirsiniz.

Arama Sonuçları
 
Üst