Kura Çekim Programı

ALTINYAYLA

Altın Üye
Katılım
26 Nisan 2005
Mesajlar
284
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
13-01-2029
Selamlar arkadaşlar ekte gönderdiğim örnek dosyada bir kura çekim programı yapmaya çalışıyorum. Gerekli açıklama dosyanın içerisinde . Yardımlarınızı rica eder selamlarımı sunarım...
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Aleykum selam,
Aşağıdaki kodları deneyiniz.
Kod:
Sub KOD()
son = Range("D65500").End(3).Row
If son - 5 < Range("C3") Then MsgBox "Listedeki öğretmen sayısı yetersiz.": Exit Sub
If Range("C2") > Range("C3") / 2 Then MsgBox "Komisyon sayısı öğretmen sayısına göre fazla.": Exit Sub
Range("E6:E65500").ClearContents
Do While say < Range("C2")
say = say + 1
1
    s1 = WorksheetFunction.RandBetween(6, son)
    If Cells(s1, "E") = "" Then Cells(s1, "E") = say & "B" Else GoTo 1
2
    s2 = WorksheetFunction.RandBetween(6, son)
    If Cells(s2, "E") = "" Then Cells(s2, "E") = say & "Ü" Else GoTo 2

Loop
For a = 1 To Range("C3") - 2 * Range("C2")
3
    s3 = WorksheetFunction.RandBetween(6, son)
    If Cells(s3, "E") = "" Then Cells(s3, "E") = "Y" & a Else GoTo 3
Next
End Sub
 

Ekli dosyalar

Son düzenleme:

ALTINYAYLA

Altın Üye
Katılım
26 Nisan 2005
Mesajlar
284
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
13-01-2029
hocam kafam durdu bunu ilgili dosyaya ekleyemedim ekleyip paylaşabilirmisiniz. selamlarımla
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Üstteki mesaja dosya eklendi.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
3,998
Excel Vers. ve Dili
2013 Türkçe
Merhaba,
Sn Leumruk'un yöntemi ile sonuca ulaşılabilir.
Sub Kura()
Application.ScreenUpdating = False
Range("E6:E10000") = ""
For i = 1 To Range("C2")
son = Cells(Rows.Count, 5).End(3).Row + 1
Cells(son, 5) = "B" & i
Cells(son + 1, 5) = "Ü" & i
Next
a = Cells(Rows.Count, 5).End(3).Row
b = Cells(Rows.Count, 4).End(3).Row
For i = 1 To b - a
son = Cells(Rows.Count, 5).End(3).Row + 1
Cells(son, 5) = "Y" & i
Next
son = Cells(Rows.Count, 5).End(3).Row
dz = Range("E6:E" & son)
Randomize

For x = UBound(dz, 1) To 1 Step -1

sayi = Int((x * Rnd) + 1)

hcr = dz(sayi, 1)
dz(sayi, 1) = dz(x, 1)
dz(x, 1) = hcr
Next
Range("E6:E" & son) = dz
End Sub
 
Üst