• DİKKAT

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

Sıralama

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
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

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
 
Ömer Bey.
Öncelikle ilginize ve emeğinize teşekkür ederim.
Şu an yoldayım. Yarın dener, sonucu yazarım.
Saygılarımla
 
Ömer Bey tekrar merhaba..
Tam istediğim sonuç..
İlginize, bilginize ve emeğinize sağlık.
Saygılarımla
 
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:
Geri
Üst