• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

rastgele sayı üretmek

ASMET67

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

1 basmaklıdan 6 basamaklı arası
 
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
 
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?
 
Ç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.
 
Ç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.
 
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.
 
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?
 
İ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.
 
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.
 
Rica ederim.
 
Geri
Üst