Listbox'a ters veri çekme

Katılım
5 Ocak 2011
Mesajlar
82
Excel Vers. ve Dili
Excel 2003
İyi çalışmalar Excelweb ailesi. Yapmak istediğim sayfadaki verileri listbox a çekerken örneğin
1-Ali
2-Veli
3-Ahmet
4-Mehmet
bu veriyi ters şekilde çekmek istiyorum . Bknz :
4-Mehmet
3-Ahmet
2-Veli
1-Ali

Yardımlarınızı bekliyorum. Teşekkürler.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Veriler A1:A10 aralığında olduğunu varsayarak:
Kod:
Dim say As Long, i As Long, sat As Long
ListBox1.ColumnCount = 2
ListBox1.Clear
say = 10
For i = 10 To 1 Step -1
    ListBox1.AddItem
    ListBox1.Column(0, sat) = say
    ListBox1.Column(1, sat) = Cells(say, "A").Value
    say = say - 1: sat = sat + 1
Next
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Bu listboxu Tersten sırlamak için tam olarak nereye
say = 10
For i = 10 To 1 Step -1
Yazmam gerekiyor acaba.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kullandığınız yöntemde sütun başlıkları ListBox nesnesine otomatik eklenir. Tersten sıralama işlemini sayfada yaparsanız kullandığınız yöntemi kullanmaya devam edebilirsiniz. Aksi durumda kod ile hafızada sıralama işlemi yapılırsa sütun başlıkları ListBox nesnesinde görünmeyecektir. Kendiniz formunuzun üzerine elle eklemek durumunda kalacaksınız.

Hafızada yapılan sıralama işlemi kodları aşağıdaki gibi olabilir.

C++:
Private Sub UserForm_Initialize()
    Dim S1 As Worksheet, Son As Long, Veri As Variant, X As Long, Genislik As String, Say As Long
    
    OptionButton2.Value = True
    
    Set S1 = Sheets("PASİF_İŞLEMLERİ")
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    Veri = S1.Range("A2:O" & Son).Value2
    ReDim Liste(1 To UBound(Veri), 1 To 15)
    
    Say = 1
    
    With ListBox1
        .ColumnCount = S1.Cells(1, S1.Columns.Count).End(1).Column
         For X = 1 To S1.Cells(1, S1.Columns.Count).End(1).Column
             Genislik = Genislik & CLng(S1.Columns(X).Width) & ";"
         Next
        .ColumnWidths = Genislik
        
        For X = UBound(Veri) To LBound(Veri) Step -1
            For Y = 1 To UBound(Veri, 2)
                Liste(Say, Y) = Veri(X, Y)
            Next
            Say = Say + 1
        Next
        
        .List = Liste
    End With
End Sub
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Sayın @Korhan Ayhan elinize sağlık. Ters sıralama çalıştı. Dediginiz gibi 1. Sırada olan başlıklar listede görünmüyor ama. Elinize emeğinize sağlık çok teşekkür ederim .
 
Üst