Sıralama

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Arkadaşlar selam.
Ekteki dosyada sıralama işlemi yapmak istiyorum. Forumda sıralama ile ilgili bir çok örnek var ama benim isteğimi karşılayan bir çözüm bulamayınca foruma yazmaya karar verdim.
Bir buton yapıp butona bastığımızda her sütunu kendi içinde alfabetik sıraya dizmesini istiyorum. Sıralarken şöyle bir özellik olmalı :
Listenin başına, harf ile başlayanlar alfabetik (A’dan Z’ye) sıralanmalı, ondan sonra sayısal değerler (KÜÇÜKTEN BÜYÜĞE) sıralanmalı.
(Ben, örnekte, istediğim şekli manuel olarak gösterdim.)
Şimdiden teşekkürler.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Kodu deneyiniz...
PHP:
Sub kod()
Application.ScreenUpdating = False
For b = 1 To 3
    Range("AA:AB").ClearContents
    For a = 2 To Cells(Rows.Count, b).End(3).Row
        If IsNumeric(Left(Cells(a, b), 1)) Then
            Cells(Rows.Count, "AA").End(3).Offset(1) = Cells(a, b)
        Else
            Cells(Rows.Count, "AB").End(3).Offset(1) = Cells(a, b)
        End If
    Next
    Range("AA2:AA10000").Sort Range("AA2"), xlAscending
    Range("AB2:AB10000").Sort Range("AB2"), xlAscending
    
    Range(Cells(2, b), Cells(10000, b)).ClearContents
    Range("AB2:AB10000").Copy
    Cells(Rows.Count, b).End(3).Offset(1).PasteSpecial Paste:=xlPasteValues
    Range("AA2:AA10000").Copy
    Cells(Rows.Count, b).End(3).Offset(1).PasteSpecial Paste:=xlPasteValues
Next
Range("AA:AB").ClearContents
Range("A1").Select
Application.ScreenUpdating = True
End Sub
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Ömer Bey.
Öncelikle ilginize ve emeğinize teşekkür ederim.
Şu an yoldayım. Yarın dener, sonucu yazarım.
Saygılarımla
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Ömer Bey tekrar merhaba..
Tam istediğim sonuç..
İlginize, bilginize ve emeğinize sağlık.
Saygılarımla
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Rica ederim, iyi çalışmalar...
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,582
Excel Vers. ve Dili
Pro Plus 2021
Alternatif olsun; D sütunu yardımcı olarak kullanılmaktadır.
Kod:
Sub onceHarfSonraRakamSirala()
    For sut = 1 To 3
        Range("D:D").ClearContents
        Range(Cells(2, sut), Cells(Rows.Count, sut).End(3)).Sort Cells(2, sut), xlDescending
        sonSat = Cells(Rows.Count, sut).End(3).Row
        For sat = 2 To sonSat
            Cells(sat, "D") = IIf(IsNumeric(Left(Cells(sat, sut), 1)), 2, 1)
        Next
        Range(Cells(2, sut), Cells(sonSat, "D")).Sort Range("D2"), xlAscending, Cells(2, sut), , xlAscending
    Next
    Range("D:D").ClearContents
End Sub
 
Son düzenleme:
Üst