• DİKKAT

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

alfabetik sıralama (türkçe karakterle başlayanlar sona)

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
alfabetik sıralama yapmam lazım ama i ö ü ş ç ğ olan karakterleri son tarafta sıralatmak istiyorum. mümkünmüdür acaba.
 
ç,
ö,
ü,
i,
ş,
ğ,

eğer olursa sıralama bu şekilde olmalı mümkünse
 
Merhaba,
Makro ile istediğiniz sıralamayı yapabilirsiniz.
Örnek dosya olursa örnek kodlama yapılabilir.
 
Kod:
Sub TEST()
    [S:S].Clear
    Range("S2:S" & Cells(Rows.Count, 1).End(3).Row).FormulaR1C1 = "=kodla(RC[-17])"
    Range("A:S").Sort [S2], xlAscending, , , , , , xlYes
    [S:S].Clear
End Sub

Function kodla(st As String) As String
    Dim al$, ekle%, i&
    For i = 1 To Len(st)
        al = Mid(st, i, 1)
        Select Case al
            Case "A" To "Z", " ": ekle = Asc(al)
            Case "Ç": ekle = 91
            Case "Ö": ekle = 92
            Case "Ü": ekle = 93
            Case "İ": ekle = 94
            Case "Ş": ekle = 95
            Case "Ğ": ekle = 96
        End Select
        kodla = kodla & ekle
    Next i
End Function
 
Son düzenleme:
Alternatif olsun.
İyi çalışmalar...
Kod:
Sub kod()
Dim sira As String, met As String, m As String
Dim s As Integer
Dim dz As Variant
Dim a As Integer, b As Integer
sira = "ABCDEFGHIJKLMNOPQRSTUVWXYZÇÖÜİŞĞ0123456789 "

s = Cells(Rows.Count, "B").End(3).Row
dz = Range("B2:B" & s).Value
For a = LBound(dz) To UBound(dz)
    dz(a, 1) = UCase(Replace(Replace(dz(a, 1), "i", "İ"), "ı", "I"))
    For b = 1 To Len(dz(a, 1))
        m = InStr(1, sira, Mid(dz(a, 1), b, 1)) + 10
        met = met & m
    Next
    dz(a, 1) = CStr(met)
    met = ""
Next
Range("S:S").NumberFormat = "@"
Range("S2").Resize(UBound(dz)).Value = dz
Range("A2:S" & s).Sort Range("S2"), xlAscending
Range("S:S").ClearContents
End Sub
 
:) Çok teşekkürler hangisini kullanacağımı şaşırdım.
 
Geri
Üst