• DİKKAT

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

1 den Atanan Bir Değişkene Kadar Benzersiz Rastgele Sayı Üretmek

Katılım
9 Aralık 2009
Mesajlar
31
Excel Vers. ve Dili
2003
merhabalar.

Yapmış olduğum bir programda rnd ile sayı ürettiriyorum. fakat üretilen sayılar çoğu zaman aynı oluyor. bu yüzden 1 den atanan bir değişkene kadar her seferinde farklı ve tekrarlanmayan rassal sayı nasıl ürettirebilirim. teşekkürler
 
Modülün en başına Randomize Timer cümlesini koyun.:cool:
 
öncelikle yardımınız için teşekkürler. gönderdiğiniz kodu yazdım ama istediğim performansı vermedi. yine bazı sayıları daha fazla üretiyor. formunuzdan bağımsızdeğişkenüret fonksiyonu buldum ama çalıştıramadım. başka yolu varsa yardımcı olursanız sevinirim
 
oradaki sayfayı ve örnek dosyayı inceledim. orada makro kodlarıyla yazılmış birşey yok. formül girmişler. sorunumu çözmedi. yinede teşekkürler.
 
siz hangi aralıktaki sayıları rastgele sayı istiyorsunzu.Ve tekrarsızmı olacak?:cool:
 
Selamlar,

Aşağıdaki kodu denermisiniz. 0-100 arasında rastgele sayı üretir.

Kod:
Option Explicit
 
Sub RASTGELE_SAYI_ÜRET()
    Randomize
    MsgBox Int(Rnd * 101)
End Sub
 
alışmamı ekte gönderiyorum. örneğin b2 hücresinde değişkenim var. oradaki sayıya kadar rastgele sayı üretecek. e5 hücresine sayı ürettiriyorum zaten buna görede f5 ve f6 hücrelerinde kelimeler görüntüleniyor. ben hangi sayının kaç kere çıktığı ile ilgili sayaç koydum (D ve E sütunundaki sayaçlar)
rastgele flasladığım zaman bazı kelimeler 4-5 kez görüntülenirken bazıları hiç görüntülenmiyor. isteğim b2 hücresindeki sayıya kadar rastgele sayı üretsin. b2 deki sayı kadar sayı üretirken her sayı en az bir kere üretilsin. umarım ifade edebilmişimdir. teşekkürler.
 
Kusura bakmayın dosya boyutu büyük olduğu için yükleme yapmamış. yeni farkettim zipleyim gönderiyorum. teşekkürler
 

Ekli dosyalar

Hangi sayfadaki hangi sütundaki değerler rastgele sıralanacak?:cool:
 
Kelime_Sor sayfasında b2 deki değer son değer olacak şekilde yine aynı sayfada E5 hücresine benzersiz sayı üretecek. yani 1 den 105 e kadar (şuanda B2 deki değer 105) e5 hücresine rastgele sayı üretecek ama 105 e kadar bütün sayılar çıkmadan aynı sayıyı tekrar üretmeyecek. isteğim bu. saygılarımlar
 
Dosyanız ektedir.:cool:
Kod:
Sub rastgele()
Randomize Timer
Dim col As Collection, sat As Long, i As Long
sat = 10
Set col = New Collection
Sheets("Kelime_Sor").Select
Range("A10:C65536,E10:E65536").ClearContents
For i = 1 To Range("B2").Value
    col.Add i
Next
basla:
For i = 1 To col.Count
    say = say + 1
    deg = Int((Rnd() * col.Count)) + 1
    Cells(sat, "E").Value = col.Item(deg)
    sat = sat + 1
    col.Remove (deg)
    Exit For
Next i
If say > Range("B2").Value - 1 Then GoTo son

GoTo basla
son:
MsgBox "İşlem tamadır." & vbLf & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End Sub
 

Ekli dosyalar

hocam ben üretilen sayıları 1 seferde e sütununa yazdırmayı değil, sırayla e5 hücresinde görüntülenmesini istiyorum. yani makro sürekli e5 hücresine rastgele sayı üretecek ama tekrarlamayacak. problemim bu şekilde.
 
hocam ben üretilen sayıları 1 seferde e sütununa yazdırmayı değil, sırayla e5 hücresinde görüntülenmesini istiyorum. yani makro sürekli e5 hücresine rastgele sayı üretecek ama tekrarlamayacak. problemim bu şekilde.
Dosyanız ektedir.:cool:
Kod:
Sub rastgele()
Randomize Timer
Dim col As Collection, i As Long
Set col = New Collection
Sheets("Kelime_Sor").Select
Range("A10:C65536,E10:E65536").ClearContents
For i = 1 To Range("B2").Value
    col.Add i
Next
basla:
For i = 1 To col.Count
    say = say + 1
    deg = Int((Rnd() * col.Count)) + 1
    Range("E5").Value = col.Item(deg)
    col.Remove (deg)
    MsgBox "Rastegele sayı üretildi."
    Exit For
Next i
If say > Range("B2").Value - 1 Then GoTo son

GoTo basla
son:
MsgBox "İşlem tamadır." & vbLf & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End Sub
 

Ekli dosyalar

yalnız bu dosya durmak nedir bilmiyor her tıklamadan sonra bitmesi lazım değilmiydi
 
acaba bu sayıları bir butona atayıp butona bastıkça birer birer görüntüleyebilirmiyiz. şu anki kodu çalıştırınca B2 hücre değerindeki sayı kadar durmadan sayı üretiliyor. teşekkürler
 
Geri
Üst