kura çekme? excel hak.

Katılım
9 Ekim 2008
Mesajlar
3
Excel Vers. ve Dili
office 2003
ingilizce
Merhaba Arkadaşlar;
ben bir kura çekme programı hazırlamak istiyorum excel de fakat nasıl başlıcaagımı nasıl yapacağım konusunda yardımlarınıza ihtiyacım var.
tam olarak yapmak istedigim;
60 kişilik bir liste butona bastıgımda listeden rasgele birisini seçmesi
ve kazandınız vs yazması
yardımlarınızı bekliyorum arkadaşlar
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Merhaba Arkadaşlar;
ben bir kura çekme programı hazırlamak istiyorum excel de fakat nasıl başlıcaagımı nasıl yapacağım konusunda yardımlarınıza ihtiyacım var.
tam olarak yapmak istedigim;
60 kişilik bir liste butona bastıgımda listeden rasgele birisini seçmesi
ve kazandınız vs yazması
yardımlarınızı bekliyorum arkadaşlar
öncelikle aşağıdaki foınksiyonu modulünüze kopyalayınız;
Kod:
Function UniqueRandomNumbers(KacAdetSayi As Long, EnKucukSayi As Long, EnBuyukSayi As Long) As Variant
'Function UniqueRandomNumbers(NumCount As Long, LLimit As Long, ULimit As Long) As Variant
'Benzersiz Rastgele Sayılar Üretir.
' creates an array with NumCount unique long random numbers in the range LLimit - ULimit (including)
'Kullanımı Aşağıdaki gibidir
'Bir değişkene = (
'Data = UniqueRandomNumbers(6, 1, 49)
Dim RandColl As Collection, varTemp() As Long
Dim k&, i&, j&
UniqueRandomNumbers = False
 
If KacAdetSayi < 1 Then Exit Function
If EnKucukSayi > EnBuyukSayi Then Exit Function
If KacAdetSayi > (EnBuyukSayi - EnKucukSayi + 1) Then Exit Function
Set RandColl = New Collection
Randomize
Do
On Error Resume Next
i = CLng(Rnd * (EnBuyukSayi - EnKucukSayi) + EnKucukSayi)
RandColl.Add i, CStr(i)
On Error GoTo 0
Loop Until RandColl.Count = KacAdetSayi
 
ReDim varTemp(1 To KacAdetSayi)
For i = 1 To KacAdetSayi
varTemp(i) = RandColl(i)
Next i
'**************ripek********************
For i = 1 To KacAdetSayi - 1
    For j = i + 1 To KacAdetSayi
        If varTemp(i) > varTemp(j) Then
            k = varTemp(i)
            varTemp(i) = varTemp(j)
            varTemp(j) = k
        End If
    Next j
Next i
'**************ripek********************
Set RandColl = Nothing
UniqueRandomNumbers = varTemp
Erase varTemp
k = 0: i = 0: j = 0
'*****www.excel.web.tr***********
End Function
&#304;sim listesinin a2:a61 aral&#305;&#287;&#305;nda olud&#287;u varsay&#305;lm&#305;&#351;t&#305;r.

Sadece 1 talihli i&#231;in
Kod:
Sub kura()
Sansli = UniqueRandomNumbers(1, 1, 60)
MsgBox "Asil: " & Range("[COLOR=red]a[/COLOR]" & Sansli(1))
End Sub
Asil ve yedek &#252;ye belirler.
Kod:
Sub kura()
Sansli = UniqueRandomNumbers(2, 1, 60)
MsgBox "Asil: " & Range("a" & Sansli(1))
MsgBox "yedek: " & Range("a" & Sansli(2)) 'Sansli(2)
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
&#231;al&#305;&#351;ma sayfas&#305;na koyaca&#287;&#305;n&#305;z butonunu kodlar&#305;na
Kod:
private Sub CommandButton1_Click()
Call kura
End Sub
ve mod&#252;ldeki yordam&#305;da a&#351;a&#287;&#305;daki gibi de&#287;i&#351;tirseniz
Kod:
Sub kura()
Range("A2:B61").Interior.ColorIndex = xlNone
Range("b2:B61").Value = ""
Sansli = UniqueRandomNumbers(2, 1, 60)
MsgBox "Asil: " & Range("a" & Sansli(1))
MsgBox "yedek: " & Range("a" & Sansli(2)) 'Sansli(2)
Range("b" & Sansli(1)).Value = "AS&#304;L TAL&#304;HL&#304;"
Range("A" & Sansli(1) & ":B" & Sansli(1)).Interior.Color = vbGreen
Range("b" & Sansli(2)).Value = "YEDEK TAL&#304;HL&#304;"
Range("A" & Sansli(2) & ":B" & Sansli(2)).Interior.Color = vbYellow
End Sub
sayfa &#252;zerinde de&#287;i&#351;klikleri g&#246;zleyebilirsiniz...
arka sokaklar ba&#351;lad&#305;
sizlere kolay gelsin...
 
Katılım
9 Ekim 2008
Mesajlar
3
Excel Vers. ve Dili
office 2003
ingilizce
Arkada&#351;&#305;m ALLAH Senden raz&#305; olsun Vallaha b&#252;y&#252;ks&#252;n

sen Baya ayr&#305;nt&#305;ya girmi&#351;sin ama s&#252;per olmu&#351;

ellerin dert g&#246;rmesin.
 
Katılım
21 Şubat 2009
Mesajlar
1
Excel Vers. ve Dili
türkçe
resimli anlatım yaparmısınız? anlamıyorum. lütfennn..
 
Üst