• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

ListBox sırasına göre verileri sıralama

Katılım
24 Temmuz 2019
Mesajlar
484
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
Herkese sağlıklı günler dileğiyle;

ListBoxta bulunan veri sıralamasına göre dosyanın "G" sütununa bakarak satırları sıralamak istiyorum.
Desteğiniz için şimdiden teşekkürler
 

Ekli dosyalar

  • sırala.JPG
    sırala.JPG
    146.4 KB · Görüntüleme: 13
  • Feylosof22.xlsm
    Feylosof22.xlsm
    74.7 KB · Görüntüleme: 8
Konu güncel olup, çözüm konusunda desteğinizi beklemekteyim.
 
Merhaba.

Aşağıdaki kodları formun kod kısmına kopyalayın.
Kod:
Private Sub CommandButton1_Click()
    Dim Liste As String
    Dim Bak As Integer
    Static ArtanAzalan As Byte
    If ArtanAzalan = xlAscending Then
        ArtanAzalan = xlDescending
        CommandButton1.Caption = "Artan Sırala"
    Else
        ArtanAzalan = xlAscending
        CommandButton1.Caption = "Azalan Sırala"
    End If
    For Bak = 0 To ListBox2.ListCount - 1
        If Liste = "" Then Liste = ListBox2.List(Bak) Else: Liste = Liste & "," & ListBox2.List(Bak)
    Next
    Application.AddCustomList ListArray:=Array(Split(Liste, ","))
    With ThisWorkbook.Worksheets("Sheet1").Sort
        .SortFields.Clear
        .SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=ArtanAzalan, CustomOrder:=(Liste)
        .SetRange Range("A:G")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Son düzenleme:
Sayın @Muzaffer Ali öncelikle desteğiniz için çok teşekkür ederim.

.SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=ArtanAzalan, CustomOrder:=(Liste)
bu satırda aşağıdaki hatayı verdi.
 

Ekli dosyalar

  • hata.JPG
    hata.JPG
    15.7 KB · Görüntüleme: 7
Bende hata vermiyor.
Dosya ekte bir de bu dosyayı deneyin.
 

Ekli dosyalar

Excel versiyonundan kaynaklanıyor olabilir.
Aşağıdaki gibi Sayfa1.Sort.SortFields.Add kod satırını yazıp boşluk tuşuna bastıktan sonra ekran görüntüsünü bana iletir misiniz?
233935
 
5. mesajdaki dosyayı denediniz mi?
Yine de hata veriyorsa

Kod:
.SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=ArtanAzalan, CustomOrder:=(Liste)
satırını aşağıdaki ile değiştirin.

Kod:
.SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=(Liste), DataOption:=xlSortNormal

Yine olmazsa
Aşağıdaki satırı deneyin.

Kod:
.SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=Liste, DataOption:=xlSortNormal
 
5. mesajdaki dosyayı denediniz mi?
Yine de hata veriyorsa

Kod:
.SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=ArtanAzalan, CustomOrder:=(Liste)
satırını aşağıdaki ile değiştirin.

Kod:
.SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=(Liste), DataOption:=xlSortNormal

Yine olmazsa
Aşağıdaki satırı deneyin.

Kod:
.SortFields.Add2 Key:=Range("G:G"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=Liste, DataOption:=xlSortNormal
Evet onu da denedim. Üzgünüm üstadım aynı hata devam ediyor her iki kodda da
 
Bende sorunsuz çalışıyor. Bir de başka bilgisayarda ve farklı Office versiyonunda deneseniz iyi olur. Belki sıkıntı bilgisayarınızdadır.
 
Geri
Üst