rastgele sayı üretmek

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Merhaba.
1 ile 999999 arası rasgele sayı üreten vba kodu için yardımcı olabilirmisiniz

1 basmaklıdan 6 basamaklı arası
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,162
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Merhaba,
1 ile 999999 aralığında rastgele sayı üreten kodlarınız aşağıdadır.
Kod:
Sub rastgele_sayi_uret()
    sayi = Int(999999 * Rnd + 1)
    MsgBox sayi
End Sub
 
Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Altın Üyelik Bitiş Tarihi
08/06/2018
Merhaba,
1 ile 999999 aralığında rastgele sayı üreten kodlarınız aşağıdadır.
Kod:
Sub rastgele_sayi_uret()
    sayi = Int(999999 * Rnd + 1)
    MsgBox sayi
End Sub
Hocam,

Her defasında farklı bir sayı mı üretiyor yoksa her defasında aralıktaki bir sayıyı mı veriyor?
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,162
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Çekiliş torbasının içinde 1 den 999999 sayısına kadar numaralandırılmış top bulunduğunu farz edin. Torbadan rastgele her seferinde bir top çektiğinizde çıkan sayının ne olabileceği ihtimali neyse, buda öyledir. Çektiğiniz topu tekrar torbaya bıraktığınızı da düşünürsek, zayıf bir ihtimal bile olsa aynı sayı çıkma ihtimali vardır. Başka bir senaryo kurguluyorsanız, ona uygun da kod yazılabilir. Siz tam olarak ne istediğinizi belirtin.
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,162
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Altın Üyelik Bitiş Tarihi
08/06/2018
Çekiliş torbasının içinde 1 den 999999 sayısına kadar numaralandırılmış top bulunduğunu farz edin. Torbadan rastgele her seferinde bir top çektiğinizde çıkan sayının ne olabileceği ihtimali neyse, buda öyledir. Çektiğiniz topu tekrar torbaya bıraktığınızı da düşünürsek, zayıf bir ihtimal bile olsa aynı sayı çıkma ihtimali vardır. Başka bir senaryo kurguluyorsanız, ona uygun da kod yazılabilir. Siz tam olarak ne istediğinizi belirtin.

İlginiz için teşekkür ederim hocam.

Ben şunu öğrenmek istiyorum:
Yukarıdaki kodun torbaya tekrar atılılırsa ki hali ve
torbaya atılmaksızın ki hali...

Bu özellik ile benzersiz ID oluşturulabilir diye öğrenmek istedim,
halihazırda bir projede kullananacağım için değil yani.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Atılmaksızın yapmak için çıkan sayıları bir yere kaydetmenız gerek. Ya da bir diziye. Çıkan sayı dizide varsa başa dön gibi bir şart koyabilirsiniz.
 
Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Altın Üyelik Bitiş Tarihi
08/06/2018
Atılmaksızın yapmak için çıkan sayıları bir yere kaydetmenız gerek. Ya da bir diziye. Çıkan sayı dizide varsa başa dön gibi bir şart koyabilirsiniz.
İlginiz için teşekkür ederim.

ID olarak kullanılırsa zaten bir yere kaydoluyor.
O zaman yeni kayda ID vermeden önce üretilen sayının ID sütununda olup olmadığını sorgulatmak, varsa döngüyü başa almak, yoksa döngüyü sonlandırmakla olur yani.

Doğru mu anladım?
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,162
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
İlginiz için teşekkür ederim.

ID olarak kullanılırsa zaten bir yere kaydoluyor.
O zaman yeni kayda ID vermeden önce üretilen sayının ID sütununda olup olmadığını sorgulatmak, varsa döngüyü başa almak, yoksa döngüyü sonlandırmakla olur yani.

Doğru mu anladım?
Sözünü ettiğiniz döngü (çıkan bir sayı daha önce çıkmışsa tekrar çıkmasın olayı), size tavsiye ettiğim konu linkinde mevcuttur. O konuda şöyle bir olay vardır:
Bir personel listesi içinden nöbetçiler seçilecektir. Rastgele kodu ile personelin bulunduğu satır için çekiliş yapılıyor. O satır daha önce çıkmışsa, "Go To yeniden" yani yeniden çekilişi tekrarla, ta ki o numara dışında numara çıkana kadar. Böylece çıkan numara torbaya atılmamış oluyor.
 
Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Altın Üyelik Bitiş Tarihi
08/06/2018
Sözünü ettiğiniz döngü (çıkan bir sayı daha önce çıkmışsa tekrar çıkmasın olayı), size tavsiye ettiğim konu linkinde mevcuttur. O konuda şöyle bir olay vardır:
Bir personel listesi içinden nöbetçiler seçilecektir. Rastgele kodu ile personelin bulunduğu satır için çekiliş yapılıyor. O satır daha önce çıkmışsa, "Go To yeniden" yani yeniden çekilişi tekrarla, ta ki o numara dışında numara çıkana kadar. Böylece çıkan numara torbaya atılmamış oluyor.

Teşekkürler hocam.
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,162
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Rica ederim.
 
Üst