A'dan Z'ye Sıralama?

baykan_m

Altın Üye
Katılım
26 Ağustos 2015
Mesajlar
257
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
22.03.2028
Merhaba Arkadaşlar;

Aşağıdaki kod ile a'dan z'ye sıralama yapıyorum. Ben ilk tıklamada a'dan z'ye, aynı butona 2. tıklamada tam tersi z'den a'ya sıralasın istiyorum. Yani her tıklama bu şekilde olması için ne yapmam lazım? Yardımcı olabilirseniz çok sevinirim.

Kod:
Sub Makro1()
'
' Makro1 Makro
'

'
    Range("B7").Select
    Selection.AutoFilter
    ActiveWorkbook.Worksheets("Personel Liste").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Personel Liste").AutoFilter.Sort.SortFields.Add Key _
        :=Range("D7:D3000"), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Personel Liste").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
        Range("B7").Select
    Selection.AutoFilter
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bir örnek siz dosyanıza uyarlarsınız. Sayfaya CommandButton ekleyin(CommandButton1 üzerinden gidelim) Butonun adını "A-Z SIRALA" sırala yapın ve aşağıdaki kodları kullanın.
Kod:
Private Sub CommandButton1_Click()

    If CommandButton1.Caption = "A-Z SIRALA" Then
        'küçükten büyüğe sıralar "xlAscending"
        Range("A2:A10").Sort Range("A2"), xlAscending
        CommandButton1.Caption = "Z-A SIRALA"
    Else
        'büyükten küçüğe sıralar "xlDescending
        Range("A2:A10").Sort Range("A2"), xlDescending
        CommandButton1.Caption = "A-Z SIRALA"
    End If

End Sub
 

baykan_m

Altın Üye
Katılım
26 Ağustos 2015
Mesajlar
257
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
22.03.2028
Merhaba,

Bir örnek siz dosyanıza uyarlarsınız. Sayfaya CommandButton ekleyin(CommandButton1 üzerinden gidelim) Butonun adını "A-Z SIRALA" sırala yapın ve aşağıdaki kodları kullanın.
Kod:
Private Sub CommandButton1_Click()

    If CommandButton1.Caption = "A-Z SIRALA" Then
        'küçükten büyüğe sıralar "xlAscending"
        Range("A2:A10").Sort Range("A2"), xlAscending
        CommandButton1.Caption = "Z-A SIRALA"
    Else
        'büyükten küçüğe sıralar "xlDescending
        Range("A2:A10").Sort Range("A2"), xlDescending
        CommandButton1.Caption = "A-Z SIRALA"
    End If

End Sub
Çok teşekkür ederim Ömer Bey. Tam istediğim :)
 
Üst