Listbox veya Comboboxta listelerin sıralı görünmesi [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : Listbox veya Comboboxta listelerin sıralı görünmesi


hasancamkaya
08-01-2005, 10: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
08-01-2005, 13:02
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
08-01-2005, 21:53
[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]

hsayar
30-01-2008, 18:50
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?

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
ListBox2.List(ListBox2.ListCount - 1, 0) = .Fields("PERS_NO")
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


Özel Arama