26.01.2021

Excel'de Kelimenin Harflerini Alfabetik Sıralamak (Excel VBA)

Youtube kanalı için hazırladığım excel eğitim videolarına zaman darlığından ötürü çok uzun bir süre ara vermiştim, videolara gelen yorumlara bile ancak yanıt verebildim ve videolarda kullandığım excel dosyalarını da geçtiğimiz günlerde ekleyebildim.

Bir youtube yorumunda bir hücredeki yazının harflerinin rastgele olarak sıralanmasının nasıl yapılabileceği sorusu vardı, ben hem bu soruyu çözmeden önce Excel'de VBA ile alfabetik sıralama fonksiyonu hazırlamak istedim ve bu yazıda da kendi fonksiyoumuzu nasıl yazabileceğimizi ve yazdığımız fonksiyon ile bir hücredeki herhangi bir yazıyı nasıl rastgele olarak sıralayabileceğimizi göstereceğim. Rastgele sıralama yapmak için de ilerleyen saatlerde bir makale daha hazırlayacağım ve linkini buradan paylaşacağım.

İlerleyen saatlerde gelen link editi: Excel'de Kelimenin Harflerini Rastgele Sıralamak (Excel VBA)

Excel'de VBA yazmak için Excel ekranında iken Alt+F11 tuşlarına bastığınızda Microsoft Visual Basic for Applications ekranı gelecek.

Yeni bir modül ekleyerek (Insert > Module) aşağıdaki kodları yapıştırın.

Function siralaAlfabetik(yazi As Range)
    If yazi.Count > 1 Then Exit Function
    Dim yaziDizi() As String
    Dim i&, j&, k&
    ReDim yaziDizi(1 To Len(yazi))
    yaziDizi(1) = Mid(yazi, 1, 1)
    For i = 2 To UBound(yaziDizi)
        For j = 1 To UBound(yaziDizi)
            If yaziDizi(j) = "" Then
                yaziDizi(j) = Mid(yazi, i, 1)
                Exit For
            ElseIf IIf(Asc(Mid(yazi, i, 1)) > 96, Asc(Mid(yazi, i, 1)) - 32, Asc(Mid(yazi, i, 1))) <= IIf(Asc(yaziDizi(j)) > 96, Asc(yaziDizi(j)) - 32, Asc(yaziDizi(j))) Then
                For k = UBound(yaziDizi) To j + 1 Step -1
                    yaziDizi(k) = yaziDizi(k - 1)
                Next k
                yaziDizi(j) = Mid(yazi, i, 1)
                Exit For
            End If
        Next j
    Next i
    siralaAlfabetik = Join(yaziDizi, "")
End Function

Şimdi sıra geldi siralaAlfabetik isimli fonksiyonumuzu hücre içinden çağırmaya. A2 hücresine herhangi bir yazı yazalım (ben Merhaba yazdım) ve B2 hücresine de A2 hücresindeki yazıyı fonksiyon parametresi referansı olarak kullanacak şekilde aşağıdaki kodu yazalım.

=siralaAlfabetik(A2)

excel harf sıralama

Artık B2 hücresinde A2 hücresindeki yazının harflerinin alfabetik olarak sıralanmış halini görebiliriz.

Excel'de Kelimenin Harflerini Alfabetik Sıralamak (Excel VBA)
Bu makalenin telif hakkı ve tüm sorumlulukları yazara ait olup, şikayetler için lütfen bizimle iletişime geçiniz.
URL:

Yorumlar

  • elgin.akpinar
    09.02.2021

    vba kodlarına bakınca anladığımdan değil ama mantıklı geliyor, ama hadi yaz deseniz bu kodları hayatta yazamam. anladığım kadarıyla tek bir hücre içinde bu sıralamayı yaptırmak mümkün değil ya da iç içe yazılması gereken formüllerin sayısı o kadar fazla ki yapmanın zaten bir anlamı kalmıyor

Bu yazıya siz de yorum yapabilirsiniz

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.