VBA Randomize | Randomize İfadesi nasıl kullanılır?

VBA'da Rasgele İfadeyi

VBA Randomize ifadesi, RND işlevini uygulamadan önce eklediğimiz tek satırlık basit bir ifadedir. Bir çalışma kitabı her yeniden açıldığında Randomize deyimi, bilgisayarın sistem saatine bağlı olarak RND işlevine yeni bir çekirdek numarası sağlar.

Randomize ifadesinden bahsetmeden önce size VBA ile basit bir RND işlevini tanıtmama izin verin.

Bir çalışma sayfası işlevi olarak "RAND", VBA "RND" de 0'dan büyük ancak 1'den küçük rastgele sayılar üretecektir.

Şimdi "RND" işlevinin sözdizimine bir göz atın.

[Sayı]: Argümanı üç şekilde iletebiliriz.

  • Sayıyı <0 olarak geçersek, her seferinde aynı rasgele sayıyı üretmeye devam eder.
  • Sayıyı 0 olarak geçersek en son verdiği sayıyı tekrar edecektir.
  • Eğer> 0 sayısını geçersek, bu size farklı rastgele sayılar, yani dizideki bir sonraki rasgele sayıyı vermeye devam eder.

Misal

Bir örnek için aşağıdaki koda bakın.

Kod:

 Alt RND_Example () Debug.Print Rnd End Sub 

Hemen pencerede kodu çalıştırdığımda aşağıdaki numarayı görebiliyorum.

Aynı şekilde bu kodu 3 defa daha çalıştırdığımda aşağıdaki rakamları görebiliyorum.

Şimdi çalışma kitabını kapatıp yeniden açacağım.

Şimdi visual basic editör penceresine geri döneceğim.

Şimdi hemen pencere boş ve temiz.

Şimdi yine kodu dört kez çalıştıracağım ve hemen pencerede alacağımız sayıların ne olduğunu göreceğim.

Yukarıda gördüğümüz rakamların aynısını aldık.

Bu rastgele bir sayı gibi görünmüyor çünkü dosyayı her açtığımızda sıfırdan başlayarak aynı sayıları alma eğilimindeyiz.

Öyleyse, çalışma kitabının yeniden açılıp açılmamasına bakılmaksızın rasgele sayıları nasıl üretiriz?

"Randomize" ifadesini kullanmamız gerekiyor.

VBA Randomize Bildirimi Nasıl Kullanılır?

Bu VBA Randomize Excel Şablonunu buradan indirebilirsiniz - VBA Randomize Excel Şablonu

Örnek 1

Rastgele sayılar elde etmek için tek yapmamız gereken, RND işlevinden önce tek satırlık basit "Rastgele" eklemektir.

Kod:

 Sub Randomize_1 () Randomize Debug.Print Rnd End Sub 

Şimdi kodu 4 kez çalıştıracağım ve ne alacağımı göreceğim.

Yerel penceremde yukarıdaki sayıları oluşturdu.

Şimdi dosyayı kapatacağım ve dosyayı yeniden açacağım.

Her zamanki gibi, görsel temel pencerede temiz bir sayfa ile başlıyoruz.

Şimdi kodu tekrar çalıştıracağım ve bu sefer hangi sayıları alacağımızı göreceğim.

Vay!!! Bu sefer farklı numaralarımız var.

RND işlevinden önce Randomize ifadesini eklediğimizden, dosyayı her yeniden açtığımızda farklı rastgele sayılar elde ederiz.

Bu rastgele bir sayıya benziyor değil mi ???

Örnek 2

Birden Büyük Rastgele Sayılar

Gördüğümüz gibi "RND" işlevi yalnızca 0'dan 1'e kadar sayılar üretebilir. Ancak rastgele sayıdan daha büyük sayılar oluşturmak için çalışma sayfası işlev sınıfıyla kullanılabilen "RANDOM BETWEEN" i kullanmamız gerekir.

Bu nedenle birden büyük rastgele sayılar oluşturmak için aşağıdaki kodu kullanmamız gerekir.

Kod:

 Sub Randomize_2 () Randomize Debug.Print Rnd * 100 End Sub 

Şimdi kodu çalıştıracağım ve ne alacağımızı göreceğim.

Bunun gibi, excel dosyasını her yeniden açtığımızda rastgele sayılar üretmek için VBA'daki "Randomize" ifadesini kullanabiliriz.