Listbox ta alfabetik sıralama

Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
listboxta listelenen bilgileri alfabetik olarak sıralamanın formülü nedir ? dosyaya her girilen veri listbox ta alfabetik sıra ile görünebilirmi ?
Not:Çaışma sayfasına bilgile userform yardımı ile girilmiyor manuel oarak giriliyor
 
Katılım
13 Aralık 2006
Mesajlar
575
Excel Vers. ve Dili
Office 2010
Hayırlı Sabahlar Stres;
Tavsiyem, Çalışma sayfasına girilen bilgilerin zaten manuel olarak girildiği için son bir işlem daha yaparak listeni o an alfabetik olarak sıralaman. Diğer türlü işini her yeni kayıt girdiğinde verilerini her defasında alfabetik olarak sıralayacağın farklı bir sayfa daha kullanarak ve listboxını da buraya yönlendirerek çözmen gerekiyor ki bu durumda eğerki listen uzun ise kodlarının çalışması da zaman alacaktır.
Ayrıca burada da
hocalarımız bir çözüm yolu bulmaya çalışmışlar. Umarım Faydası olur.
 

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
Listboxa verileri rowsource yöntemi dışında aldığınızda aşağıdaki kodları kullanabilirsiniz.:cool:
Userformun general kısmaına:
Kod:
Private Function Sirala(Liste As Variant)
Dim i As Integer, j As Integer, x As Variant
    For i = LBound(Liste) To UBound(Liste) - 1
        For j = i + 1 To UBound(Liste)
            If StrComp(Liste(i, 0), Liste(j, 0), vbTextCompare) = 1 Then
                x = Liste(j, 0)
                Liste(j, 0) = Liste(i, 0)
                Liste(i, 0) = x
            End If
        Next j
    Next i
    Sirala = Liste
End Function
İNitialize kısmına:
Kod:
Private Sub UserForm_Initialize()
For i = 1 To 20
    ListBox1.AddItem Cells(i, 1).Value
Next i
Liste = ListBox1.List
ListBox1.List = Sirala(Liste)
End Sub
 
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
arkadalar her ikinizede teşekkür ederim harziyan hem senin verdiğin lik hemde evren gizlenin verdiği kodlar işimi gördü her ikiside birbirine alternatif olarak yedeğimde duracak yeniden teşekkürler
 
Üst