Kombinasyon işlemleri

BYSERTTAS

Altın Üye
Katılım
9 Ekim 2012
Mesajlar
136
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
06-01-2025
Arkadaşlar sayısal loto kombinasyonu yapmak istiyorum. Elinde örnek dosya olan varsa paylaşa bilirmisiniz.
 

Necdet

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

Yol yakınken vaz geçin derim :)
 

BYSERTTAS

Altın Üye
Katılım
9 Ekim 2012
Mesajlar
136
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
06-01-2025
Amacım kombinasyon yapmayı öğrenmek. Sayısal isin bahanesi 14milyonda bir ihtimal ihtimal değildir onu biliyorum.tavsiyeniz için tesekkurler
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Linki inceleyiniz.


.
 

Necdet

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

Forumda bu konu çok işlendi, Fakat Özyinelemeli olarak pek örneğini göremedim.

O yüzden dosya paylaşıyorum.

Kodları bir modüle kopyalayıp deneyiniz.

Kod:
Public Sonuc() As Variant
Kod:
Sub Basla()

    Dim i As Integer
    i = Cells(Rows.Count, "A").End(3).Row
    
    If i < 2 Then
        MsgBox "A Sütununa Verileri Girmemişsiniz...."
        Exit Sub
    End If
    
    If IsNumeric(Range("B2")) = False Or Range("B2") = 0 Then
        MsgBox "B2 Hücresine Kaçlı Kombinasyon Olacağını Belirtmemişsiniz....", vbCritical
        Exit Sub
    End If
    
    If Range("B2") >= Range("C2") Then
        MsgBox "B2 Hücre Değeri C2 Hücre Değerinden Küçük Olmalı", vbCritical
        Exit Sub
    End If
    
    Komb Range("A2:A" & i), Range("B2"), Range("F2")
    
End Sub
Kod:
Sub Komb(Rng As Range, Sec As Single, Hdf As Range)

    Dim rn As Variant
    
    rn = Rng.Value
    
    Hdf.CurrentRegion.Offset(1, 0).ClearContents
    
    ReDim Sonuc(Sec - 1, 0)
    
    Call Özyinele(rn, Sec, 1, 0)
    
    Hdf.Resize(UBound(Sonuc, 2), UBound(Sonuc, 1) + 1) = Application.Transpose(Sonuc)
    Hdf.CurrentRegion.Offset(1, 0).Columns.AutoFit

End Sub
Kod:
Function Özyinele(r As Variant, c As Single, d As Single, e As Single)

    Dim f As Single
    Dim g As Integer

    For f = d To UBound(r, 1)
    
        Sonuc(e, UBound(Sonuc, 2)) = r(f, 1)
    
        If e = (c - 1) Then
            ReDim Preserve Sonuc(UBound(Sonuc, 1), UBound(Sonuc, 2) + 1)
            For g = 0 To UBound(Sonuc, 1)
                Sonuc(g, UBound(Sonuc, 2)) = Sonuc(g, UBound(Sonuc, 2) - 1)
            Next g
        Else
            Call Özyinele(r, c, f + 1, e + 1)
        End If
        
    Next f
    
End Function
 

Ekli dosyalar

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,771
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Elinize sağlık Necdet Hocam,
paylaşım için teşekkürler, güzel bir çalışma
 
Üst