Listbox veya Comboboxta listelerin sıralı görünmesi

Katılım
6 Aralık 2004
Mesajlar
10
selamlar ben listbox yada comboBox listelenen bilgilerin sıralı halde (alfabetik) gözükmesini nasıl sağlayabilirim.





Edit xxrt:Sorular Foruma sorulur.Direkt olarak nicki,cevaplamalardan sonra Kiminle ilgi olduğunu belirlemek için kullanabilirsiniz.Bu nedenle sorunuzu foruma yönelik döndürdüm.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Benim önerim bilgileri aldığınız hücrelerde sıralama yapmanızdır. Bu durumda listbox veya Combobox ta bilgiler sıralı görünecektir.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
[vb:1:6b42f31d61]Private Sub UserForm_Initialize()
Dim MyRng As Range
Set MyRng = Range("AA1:AA" & ComboBox1.ListCount)
MyRng = ComboBox1.List
MyRng.Sort Key1:=Range("AA1"), Order1:=xlAscending
ComboBox1.RowSource = MyRng.Address
Set MyRng = Nothing
End Sub
[/vb:1:6b42f31d61]
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sn haluk hocam benim herseferinde sayfaya alıp yazması işimi yavaşlatacaktır çünkü kodlar change olayının içerisinde dizide veya başka bir şekilde sırlama imkanı olurmu?
Kod:
Private Sub ListBox1_Change()
On Error Resume Next
Call DegiskenTani
Dim i As Integer, SQLStr As String
If ListBox1.Value = "" Then Exit Sub

.............................

Dim RecOzlk As ADODB.Recordset:      Set RecOzlk = New ADODB.Recordset
    ListBox2.Clear
    basliklar = "TCK_NO, ISY_NO, PERS_NO, AD_SOYAD"
    sayfaadi = "[OZLUK$]"
    sorgu = "TCK_NO = " & ComboBox85.Value & _
          " AND ISY_NO=" & ListBox1.Value
    SQLStr = "SELECT DISTINCT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
    With RecOzlk
        .Open SQLStr, bagOZLK, adOpenKeyset, adLockOptimistic
        .MoveFirst
        If .RecordCount = 0 Then
          '  MsgBox ComboBox85.Value & " kimlik numaralı kişinin özlük kaydı bulunamadı"
        Else
            For i = 1 To .RecordCount
                   ListBox2.AddItem
[B][color="red"]                   ListBox2.List(ListBox2.ListCount - 1, 0) = .Fields("PERS_NO") [/color][/B]
                   ListBox2.List(ListBox2.ListCount - 1, 1) = .Fields("AD_SOYAD")
                  .MoveNext
            Next i
           
           
'           For i = 1 To .RecordCount
'                ListBox2.AddItem .Fields("PERS_NO")
'               .MoveNext
'            Next i
        .MoveFirst:          ListBox2.ListIndex = 0
        If CBool(.State And adStateOpen) = True Then .Close
        End If
    End With
Set RecOzlk = Nothing
End Sub
kırmızı satırda aktarılan veriler listboxta azalan sırada olacak
ilk hali 2001,2020,2010,2040 vs ise sonuç 2040, 2020,2010,2001 gibi olmalı

yardımlarınız için teşekkürler
 
Son düzenleme:
Üst