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)
Artık B2 hücresinde A2 hücresindeki yazının harflerinin alfabetik olarak sıralanmış halini görebiliriz.