5 in 5 li Permütasyonu

Katılım
28 Ağustos 2022
Mesajlar
5
Excel Vers. ve Dili
11
Merhaba,

e m g t i

Harflerinden 5 harfli 120 kelime üretilebilir. Ben bu kelimelere ulaşmak istiyorum.
Excel'de bunu nasıl yapabiliriz?

Teşekkkürler.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki kodları internette buldum.

Exel dosyanıza bir Module ekleyin kodları bu module kopyalayıp GetString kodlarını çalıştırın.
inputboxa emgti yazdığınızda aktif sayfanın A kolonuna sonuçları döndürür.

Kod:
Sub GetString()
    Dim xStr As String
    Dim FRow As Long
    Dim xScreen As Boolean
    xScreen = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
    If Len(xStr) < 2 Then Exit Sub
    If Len(xStr) >= 8 Then
        MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
        Exit Sub
    Else
        ActiveSheet.Columns(1).Clear
        FRow = 1
        Call GetPermutation("", xStr, FRow)
    End If
    Application.ScreenUpdating = xScreen
End Sub

Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
    Dim i As Integer, xLen As Integer
    xLen = Len(Str2)
    If xLen < 2 Then
        Range("A" & xRow) = Str1 & Str2
        xRow = xRow + 1
    Else
        For i = 1 To xLen
            Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
        Next
    End If
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Mesajımda yazdıklarımı aynen yapın. Makro oluştur gibi bir şey söylemedim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,355
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kombinasyon Permütasyon için yıllar önce internetten bulduğum ve özyinelemeli çalışan bir dosyayı inceleyebilirsiniz. 8. mesaj.

Linki için TIKLAYINIZ
 
Üst