Buton İle ListBoxta Sıralama

Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Arkadaşlar konuya yardımcı olabilir misiniz ?
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Dosyanıza modül ekleyin, ( "Module7") aşağıdaki kodları kopyalayıp deneyiniz
https://www.dosyaupload.com/et83

Kod:
Sub Resim40_Tıklat()
Run "SortListBox", ListBox1, 1, 1, 1
End Sub
Sub SortListBox(oLb As Object, sCol As Integer, sType As Integer, sDir As Integer)
    Dim vaItems As Variant
    Dim i As Long, j As Long
    Dim c As Integer
    Dim vTemp As Variant
  Set oLb = ThisWorkbook.ActiveSheet.OLEObjects("ListBox1").Object
    vaItems = oLb.List

    If sType = 1 Then
        For i = LBound(vaItems, 1) To UBound(vaItems, 1) - 1
            For j = i + 1 To UBound(vaItems, 1)
                If sDir = 1 Then
               a = vaItems(i, sCol)
               b = vaItems(j, sCol)
               If UCase(Left(a, 1)) = "Ç" Then a = "CZ" & Right(a, Len(a) - 1)
               If UCase(Left(b, 1)) = "Ç" Then b = "CZ" & Right(b, Len(b) - 1)
               If UCase(Left(a, 1)) = "İ" Then a = "IZ" & Right(a, Len(a) - 1)
               If UCase(Left(b, 1)) = "İ" Then b = "IZ" & Right(b, Len(b) - 1)
               If UCase(Left(a, 1)) = "Ü" Then a = "UZ" & Right(a, Len(a) - 1)
               If UCase(Left(b, 1)) = "Ü" Then b = "UZ" & Right(b, Len(b) - 1)
               If UCase(Left(a, 1)) = "Ö" Then a = "OZ" & Right(a, Len(a) - 1)
               If UCase(Left(b, 1)) = "Ö" Then b = "OZ" & Right(b, Len(b) - 1)
               If UCase(Left(a, 1)) = "Ş" Then a = "SZ" & Right(a, Len(a) - 1)
               If UCase(Left(b, 1)) = "Ş" Then b = "SZ" & Right(b, Len(b) - 1)
                    If a > b Then
                        For c = 0 To oLb.ColumnCount - 1
                            vTemp = vaItems(i, c)
                            vaItems(i, c) = vaItems(j, c)
                            vaItems(j, c) = vTemp
                        Next c
                    End If
            
                End If
                 
            Next j
        Next i
   
    End If
    oLb.List = vaItems
End Sub
 
Son düzenleme:
Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Sayın Plint çok teşekkür ederim.Ellerinize sağlık
 
Üst