• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kelimenin harflerini alfabetik sıralatma?

Katılım
13 Haziran 2006
Mesajlar
374
Excel Vers. ve Dili
Excel 2003 Türkçe
Matematik Öğretmeni VB,Excel-VBA,...
Selam arkadaşlar,
Yoğun iş temposu yüzünden hem forumu hem exceli uzun zamandır boşlamış durumdayım.Ve sanırım bunun sonucu olarak aslında çok basit olduğunu düşündüğüm fakat bir türlü çözemediğim bir konuda yardıma ihtiyacım var.

Örneğin "karabatak" ya da "32002333045" şeklinde girilen bir kelime ya da sayının haflerini ya da rakamlarını kullanarak alfabetik ya da küçükten büyüğe doğru sıralatma olayında yardımcı olursanız sevinirim.
Aslında bir çeşit kombinasyon problemi.Problemin çözümü kolay(matematiksel olarak),ancak bunu excele aktarmak sorun oldu:)

Teşekkürler....
 
Selamlar,

Tankut bey örnek dosya ekleyerek yapmak istediğiniz işlemi açıklayabilirmisiniz.
 
:cool:
Kod:
Sub sirala()
Dim kelime As Variant, i As Integer, j As Integer, x As Variant
kelime = InputBox("Kelimeyi giriniz :", "KELİME")
If kelime = "" Then Exit Sub
If IsNumeric(kelime) Then
For i = 1 To Len(kelime) - 1
    For j = i + 1 To Len(kelime)
        If Mid(kelime, i, 1) > Mid(kelime, j, 1) Then
            x = Mid(kelime, i, 1)
            Mid(kelime, i, 1) = Mid(kelime, j, 1)
            Mid(kelime, j, 1) = x
        End If
    Next j
Next i
End If
If Not IsNumeric(kelime) Then
For i = 1 To Len(kelime) - 1
    For j = i + 1 To Len(kelime)
        If StrComp(Mid(kelime, i, 1), Mid(kelime, j, 1), vbTextCompare) > 0 Then
            x = Mid(kelime, i, 1)
            Mid(kelime, i, 1) = Mid(kelime, j, 1)
            Mid(kelime, j, 1) = x
        End If
    Next j
Next i
End If
MsgBox "Sıralanmış : " & kelime
End Sub
 
Teşekkür ederim.Ancak istediğim şey tam olarak bu değil.Şöyle örnek verim;
"karabatak" kelimesini giriş yaptık.kod yardımıyla kelimeyi oluşturan harfler sırayla alfabetik olarak sıralatılacak.Örnek:
aaaabkkrt
aaaabkktr
aaaabkrkt
aaaabkrtk
aaaabrkkt
aaaabrktk
aaaabrtkk......
ya da sayı girişi yapıldığında "11100222233"
00111222233
00111222323
00111222332
00111223223....
gibi.
 
Merhaba,

Evren bey olayı çözmüş, küçük değişiklikle ekteki dosyayı inceleyiniz.

Kod:
Sub sirala()
Dim kelime As Variant, i As Integer, j As Integer, x As Variant
For Sat = 1 To [A65536].End(3).Row
    kelime = Cells(Sat, "A")
    For i = 1 To Len(kelime) - 1
        For j = i + 1 To Len(kelime)
            If Mid(kelime, i, 1) > Mid(kelime, j, 1) Then
                x = Mid(kelime, i, 1)
                Mid(kelime, i, 1) = Mid(kelime, j, 1)
                Mid(kelime, j, 1) = x
            End If
        Next j
    Next i
    Cells(Sat, "B") = kelime
Next Sat
End Sub
 

Ekli dosyalar

Daha anlaşılır bir örnek vereyim.
Diyelimki bir form yardımıyla textbox a "ZARAR" yazdık.Burdan sonra kelimedeki harfleri alarak örneğin A sütununa numara.B sütununa da harfleri alfabetik olarak dizecek ve dizilimin aşağıdaki gibi olması gerekiyor.

1 AARRZ
2 AARZR
3 AAZRR
4 ARARZ
5 ARAZR
6 ARRAZ
7 ARRZA
8 ARZAR
9 ARZRA
10 AZARR
11 AZRAR
12 AZRRA
13 RAARZ
14 RAAZR
15 RARAZ
16 RARZA
17 RAZAR
18 RAZRA
19 RRAAZ
20 RRAZA
21 RRZAA
22 RZAAR
23 RZARA
24 RZRAA
25 ZAARR
26 ZARAR
27 ZARRA
28 ZRAAR
29 ZRARA
30 ZRRAA


Yani bir başka deyişle matematikte Tekrarlı Permütasyon kullanarak hesapladığımız:
"ZARAR kelimesindeki harflerin yerleri değiştirilerek,anlamlı ya da anlamsız yazılabilecek beş harfli kelimelerin hangileri ve kaç tane olduğu alfabetik sırayla gösterimi nasıldır?" sorusunun cevabını excel de görsel olarak nasıl alabiliriz dEmek istemiştim.
 
Son düzenleme:
Teşekkür ederim,çok güzel hazırlanmış bir kaynak olmuş.
 
Teşekkür ederim. Saygılarımla. İyi çalışmalar...
 
Geri
Üst