Harflere ve sembollere yönelik sıralama

Katılım
12 Haziran 2007
Mesajlar
10
Excel Vers. ve Dili
Excel 2007 Türkçe
Öncelikle herkese merhaba.

Bu konu herkese aşina gelebilir. Mesajımı yazmadan önce arama da yaptım ancak istediğim bilgiye tam anlamıyla ulaşamadım. Soracağım soru daha önce bir konuda yer almışsa kusura bakmayın.

Sözcükleri belli bir düzende sıralamak istiyorum. Örneğin:

AHMET
ALİ
ACI
Ahmet
Ali
Acı
__Ahmet__
__Ali__
__Acı__

Örnekte görüldüğü üzere birinci grupta tamamı büyük harfli olanlar yer almaktadır. İkinci grupta ise baş harfi büyük olanlar, üçünde bazı semboller içeren sözcükler var. Python programlama diliyle uğraşıyorum ve bu dilin iç terimlerini belli bir yapıda sıralamam gerek. Bu şekilde 7000 civarı sözcük var.

Umarım böyle bir durumun üstesinden gelebilir Excel. Yardımcı olursanız sevinirim.

Teşekkürler.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Veri--> sırala--Seçenekler-->Büyük küçük harfe duyarlı çek boxına tik koyunuz.
Ve sıaralayınız.
Tabii önce sıralanacak alanı seçmelisiniz.:cool:
 
Katılım
12 Haziran 2007
Mesajlar
10
Excel Vers. ve Dili
Excel 2007 Türkçe
Cevabınız için teşekkürler ancak işe yaramadı.

Ofis 2007 kullanıyorum. Belirttiğiniz üzere veri panelinde sıralaya bastım, seçeneklerden büyük küçük harfi de etkinleştirdim ama hiçbir şey değişmedi.

Örnek dosyamı ekliyorum. Böylece problemin ne olduğu daha iyi anlaşılacaktır.

Teşekkürler.
 

Ekli dosyalar

Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız ektedri.
B sütununa sıralıyor.
Bende yaklaşık 3 dakika sürdü.:cool:

Kod:
Option Explicit
Option Base 1
Sub sirala_59()
Dim liste(), i As Long, x As String, son As Long, basla As Date
Dim j As Long
basla = Now
liste = Range("A1:A" & Cells(65536, "A").End(xlUp).Row).Value
son = UBound(liste)
For i = 1 To son - 1
    For j = i + 1 To son
        If StrComp(Replace(liste(i, 1), "_", ""), Replace(liste(j, 1), "_", "")) > 0 Then
            x = liste(i, 1)
            liste(i, 1) = liste(j, 1)
            liste(j, 1) = x
        End If
    Next j
Next i
Application.ScreenUpdating = False
Range("B:B").ClearContents
Range("B1").Resize(son, 1) = liste
Application.ScreenUpdating = True
MsgBox "İşlem Tamamdır." & vbLf & _
"Süre : " & Format(Now - basla, "hh:mm:ss") & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End Sub
 

Ekli dosyalar

Katılım
12 Haziran 2007
Mesajlar
10
Excel Vers. ve Dili
Excel 2007 Türkçe
Çok çok teşekkür ederim. İnanın çok yardımcı oldunuz.

Hayırlı çalışmalar.
 
Üst