Son Harfe Göre Sıralama?

Katılım
4 Aralık 2015
Mesajlar
2
Excel Vers. ve Dili
excel 2013
Arkadaşlar elimde word dosyasında 200 adet şiir bulunmakta ve ben bu şiirleri ,başlıklarının son harfine göre sıralamam gerekiyor. biraz araştırma yaptım ve galiba bu işi sadece excelde yapabiliyormuşuz. Fakat gelin görün ki o kadar uğraşmama rağmen bu işin içinden çıkamadım. Bu konuda bana yardımcı olabilecek yahut bilgisi olupta paylaşabilecek bir abim veya kardeşim olursa çok çok memnun kalırım. Zira üniversite de bu bilgisizliğimin acısını çok yakışıyorum. Şimdiden teşekkür ediyor bilgilerinizi bekliyorum...
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba. Foruma hoşgeldiniz.
Öncelikle, şiirlerin başlıkları ile gövde kısımlarını birbirinden ayrıştırılması için bir kriter bulunması lazım.Örneğin başlıkların tümü büyük harfle yazılmıştır gibi bir kriter. Ardından SAĞDAN gibi bir metin işlevi kulkanılarak başlıkların son harfi üzerinden işlem yapılabilir.
Başlıkların, şiir metninden ayrıştırılması için, örneğin içindekiler listesi gibi bir liste varsa o da işe yarayabilir.
Şiirler zaten yayınlanmış şiirlerse veya buraya yüklemenizde sakınca yoksa belgenizi burası veya burası gibi bir dosya paylaşım sitesine yükleyip, oradan alacağınız erişim bağlantı adresini
burada paylaşırsanız, daha hızlı çözüme ulaşırsınız.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki kodu deneyiniz.
A sütununa şiir isimlerini yazıp kodu çalıştırınız son harfe göre B sütununa sıralı halini alırsınız. Tersten sıralama yapmak için > işaretini < ile değiştiriniz.
Kod:
Sub Son_Harfe_Göre_Sırala()
son = Range("A65500").End(3).Row
siir = Range("A1:A" & son)
Range("B:B").ClearContents
For a = LBound(siir) To UBound(siir) - 1
    For b = a + 1 To UBound(siir)
        If StrReverse(siir(a, 1)) [COLOR="Red"]>[/COLOR] StrReverse(siir(b, 1)) Then
            değer = siir(a, 1)
            siir(a, 1) = siir(b, 1)
            siir(b, 1) = değer
        End If
    Next
Next
Range("B1:B" & son) = siir
End Sub
 
Son düzenleme:
Katılım
4 Aralık 2015
Mesajlar
2
Excel Vers. ve Dili
excel 2013
Öncelikle mucit hocam ve ömer hocam ilginiz için teşekkür ederim. Şimdi ömer hocam sizin dediğiniz gibi şiirlerin sadece başlıklarını alıp ayrı bir dosya oluşturdum.Ardından bunları excele aktardım ve mucit hocamın dediği fonksiyonu kullandım. Fakat bu fonksiyon hata verdi neden anlamadım. Bunun üzerine bu fonksiyonu excele biraz ilgisi olan bir arkadaşımla paylaştım ve ufak bir düzenleme ile sorunu çözdüm. Şuan başlıklar son harflerine göre dizilmiş durumda artık geriye paragrafları alıp kopyala yapıştır yapmak kaldı. İlginiz için çok ama çok teşekkür ederim. Beni nasıl bir derstten kurtardığını anlatamam. Ayrıca bu fonksiyonu sizden izinsiz bilgisayar hocamızla paylaştım ve bunu yazan kim diye üstünde çok durdu :)) elinize sağlık derdim çözüldü. Teşekkürler excel ekibi :)
 
Üst