- Katılım
- 13 Mayıs 2005
- Mesajlar
- 761
- Excel Vers. ve Dili
- 2010 Türkçe
- Altın Üyelik Bitiş Tarihi
- 03.11.2024
alfabetik sıralama yapmam lazım ama i ö ü ş ç ğ olan karakterleri son tarafta sıralatmak istiyorum. mümkünmüdür acaba.
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
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
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