VBA Rawak

Rawakkan Penyataan di VBA

Pernyataan VBA Randomize adalah pernyataan satu-pelapik mudah yang kami tambahkan sebelum menerapkan fungsi RND. Setiap kali buku kerja dibuka Pernyataan rawak memberikan nombor benih baru untuk fungsi RND bergantung pada waktu sistem komputer.

Sebelum saya bercakap mengenai pernyataan Randomize, izinkan saya memperkenalkan anda kepada fungsi RND ringkas dengan VBA.

Sebagai fungsi lembaran kerja "RAND", di VBA "RND" juga akan menghasilkan nombor rawak yang lebih besar dari 0 tetapi kurang dari 1.

Sekarang lihat sintaks fungsi "RND".

[Nombor]: Kami dapat menyampaikan hujah dengan tiga cara.

  • Sekiranya kita lulus nombor sebagai <0, ia akan terus menghasilkan nombor rawak yang sama setiap masa.
  • Sekiranya kita memberikan nombor sebagai 0, ia akan mengulangi nombor terakhir yang diberikannya.
  • Sekiranya kita lulus nombor> 0, ia tetap memberi anda nombor rawak yang berbeza iaitu nombor rawak seterusnya dalam urutan.

Contohnya

Sebagai contoh lihat kod di bawah.

Kod:

 Sub RND_Contoh () Debug.Cetak Sub Akhir Akhir 

Apabila saya menjalankan kod di tetingkap segera, saya dapat melihat nombor di bawah.

Begitu juga, ketika saya melaksanakan kod ini untuk 3 kali lagi saya dapat melihat nombor di bawah.

Sekarang saya akan menutup buku kerja dan membukanya semula.

Sekarang saya akan kembali ke tetingkap editor asas visual.

Sekarang tetingkap segera kosong dan bersih.

Sekali lagi saya akan melaksanakan kodnya empat kali dan melihat nombor apa yang akan kita dapatkan di tetingkap segera.

Kami mendapat nombor yang sama seperti di atas.

Ini tidak kelihatan seperti nombor rawak kerana setiap kali kita membuka semula fail, kita cenderung mendapat nombor yang sama bermula dari awal.

Jadi, bagaimana kita menghasilkan nombor rawak tanpa mengira sama ada buku kerja dibuka atau tidak?

Kita perlu menggunakan pernyataan "Randomize".

Bagaimana Menggunakan Pernyataan Rawak VBA?

Anda boleh memuat turun VBA Randomize Excel Template ini di sini - VBA Randomize Excel Template

Contoh # 1

Untuk mendapatkan nombor rawak yang perlu kita lakukan ialah menambahkan satu-pelapik mudah "Randomize" sebelum fungsi RND.

Kod:

 Sub Randomize_1 () Randomize Debug.Print Rnd End Sub 

Sekarang saya akan menjalankan kod 4 kali dan melihat apa yang saya dapat.

Ini telah menghasilkan nombor di atas di tetingkap tempatan saya.

Sekarang saya akan menutup fail dan membuka semula fail sekali lagi.

Seperti biasa, kita mulakan dengan batu tulis bersih di tetingkap asas visual.

Sekarang saya akan lagi melaksanakan kod dan melihat nombor apa yang kita dapat kali ini.

Wah !!! Kami mendapat nombor yang berbeza kali ini.

Oleh kerana kami menambahkan pernyataan Randomize sebelum fungsi RND, kami mendapat nombor rawak yang berbeza setiap kali kami membuka semula fail.

Ini kelihatan seperti nombor rawak bukan ???

Contoh # 2

Nombor Rawak Lebih Besar Dari Satu

Seperti yang kita lihat, fungsi "RND" dapat menghasilkan angka dari 0 hingga 1 sahaja. Tetapi untuk menghasilkan nombor yang lebih besar daripada satu nombor rawak, kita perlu menggunakan "RANDOM ANTARA" yang tersedia dengan kelas fungsi lembaran kerja.

Oleh itu, untuk menghasilkan nombor rawak lebih besar daripada satu, kita perlu menggunakan kod di bawah.

Kod:

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

Sekarang saya akan melaksanakan kod dan melihat apa yang kita dapat.

Seperti ini, kita dapat menggunakan pernyataan "Randomize" di VBA untuk menghasilkan nombor rawak setiap kali kita membuka semula file excel.