Benzersiz güvenlik kodu üretme

Katılım
13 Ekim 2005
Mesajlar
16
Merhaba,

Rastgele sayı ile bir güvenlik kodu üretmeye çalışıyorum. 6 haneli bir sayı olarak yapabildim. İşin içine sayı ile birlikte harfleride ilave etmeye çalıştım ama beceremedim şu an en son kullandığım hali aşağıdaki gibi:

Sheets("Basılacak Etiketler").Cells(sayi + x, 4) = TextSerial & TextYear & carry & hst & TextMonth & "01"
Sheets("Basılacak Etiketler").Cells(sayi + x, 5) = Int((899999 * Rnd) + 1) + 100000


Bir userform aracılığı ile girdiğim bilgileri excel sayfasına yazdırırken bir sütunada Int komutu ile rastgele bir sayı atıyorum.

Şimdi yapmak istediğim: Bu Int komutu ile sayı atarken daha önceki rastgele ürettiği sayıları bir daha atmamasın istiyorum. Hepsi benzersiz olsun.


Konuyla alakalı rastgele sayı üret diye bir başlık var ordan baktım sorunuma yakın bir konu ama ne yaptıysa buraya eklem yapamadım.

Konuyla ilgili fikir verecek yol gösterecek arkadşalara şimdiden teşekkür ederim.
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Merhaba,

Aşagıdaki kodu incelermısınız.Umarım işinize yarar.

Kod:
Sub sayi_uret()
ara:
Uret = Int(Rnd() * 99999) + 1
aram = WorksheetFunction.CountIf(Range("a1:a10000"), Uret)
If aram > 0 Then
GoTo ara
urets = Int(Rnd() * 99999) + 1
son = [a65536].End(3).Row + 1
Range("a" & son) = urets
Else
son = [a65536].End(3).Row + 1
Range("a" & son) = Uret
End If
End Sub
Yada şunu söyleyebilirim.
Numaraları ardısık ver.Vermiş oldugun max değerin +1 fazlasını otomatik olarak textbox'ına yazdırabilirsin.
 
Katılım
22 Şubat 2021
Mesajlar
106
Excel Vers. ve Dili
Ofis 360 Türkçe
Hocam bu sayıların 6000-7000 arasında olması için ne yapabilirim? teşekkür ederim.
 
Katılım
22 Şubat 2021
Mesajlar
106
Excel Vers. ve Dili
Ofis 360 Türkçe
Merhaba,

Aşagıdaki kodu incelermısınız.Umarım işinize yarar.

Kod:
Sub sayi_uret()
ara:
Uret = Int(Rnd() * 99999) + 1
aram = WorksheetFunction.CountIf(Range("a1:a10000"), Uret)
If aram > 0 Then
GoTo ara
urets = Int(Rnd() * 99999) + 1
son = [a65536].End(3).Row + 1
Range("a" & son) = urets
Else
son = [a65536].End(3).Row + 1
Range("a" & son) = Uret
End If
End Sub
Yada şunu söyleyebilirim.
Numaraları ardısık ver.Vermiş oldugun max değerin +1 fazlasını otomatik olarak textbox'ına yazdırabilirsin.
Hocam benzersiz sayı üretirken örnegin diğer 4 sayfayıda kontrol etsin kısmını nasıl ekleyebilirim?
 
Üst