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

VBA'da Rasgele İfadeyi Rastgele

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.

VBA'da "RAND" çalışma sayfası işlevi olarak, "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

Örneğ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 tekrar, 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 rastgele sayıları nasıl üretebiliriz?

"Randomize" ifadesini kullanmamız gerekiyor.

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

Örnek 1

Rastgele sayılar elde etmek için tek yapmamız gereken, RND işlevinin önüne basit tek satırlık "Randomize" eklemektir.

Kod:

Sub Randomize_1 () Randomize Debug.Print Rnd End Sub

Şimdi kodu 4 kez çalıştıracağım ve ne alacağıma bakacağım.

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

Şimdi dosyayı kapatacağım ve dosyayı bir kez daha açacağım.

Her zaman olduğu 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 birden fazla rasgele sayı oluşturmak için, çalışma sayfası işlev sınıfında bulunan "RANDOM BETWEEN" i kullanmamız gerekir.

Dolayısıyla 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 oluşturmak için VBA'daki "Randomize" ifadesini kullanabiliriz.

Ilginç makaleler...