VBA Acak

Pernyataan Acak di VBA

Pernyataan Randomize VBA adalah pernyataan satu baris sederhana yang kita tambahkan sebelum menerapkan fungsi RND. Setiap kali buku kerja dibuka kembali, pernyataan Randomize memberikan nomor benih baru ke fungsi RND tergantung pada waktu sistem komputer.

Sebelum saya berbicara tentang pernyataan Acak izinkan saya memperkenalkan Anda ke fungsi RND sederhana dengan VBA.

Sebagai worksheet berfungsi "RAND", di VBA "RND" juga akan menghasilkan angka acak yang lebih besar dari 0 tetapi kurang dari 1.

Sekarang lihat sintaks dari fungsi "RND".

[Angka]: Kita bisa menyampaikan argumen dengan tiga cara.

  • Jika kita melewatkan nomor sebagai <0, itu terus menghasilkan nomor acak yang sama setiap saat.
  • Jika kita melewatkan angka sebagai 0, itu akan mengulangi angka terbaru yang telah diberikan.
  • Jika kita melewatkan angka> 0, itu tetap memberikan Anda nomor acak yang berbeda yaitu nomor acak berikutnya dalam urutan.

Contoh

Untuk contoh lihat kode di bawah ini.

Kode:

 Sub RND_Example () Debug. Cetak Rnd End Sub 

Ketika saya menjalankan kode di jendela langsung saya bisa melihat nomor di bawah ini.

Demikian pula, ketika saya mengeksekusi kode ini sebanyak 3 kali saya dapat melihat angka-angka di bawah ini.

Sekarang saya akan menutup buku kerja dan membukanya kembali.

Sekarang saya akan kembali ke jendela editor visual basic.

Sekarang jendela langsung kosong dan bersih.

Sekarang lagi saya akan mengeksekusi kode empat kali dan melihat berapa angka yang akan kita dapatkan di jendela langsung.

Kami mendapat nomor yang sama seperti yang kami dapatkan di atas.

Ini tidak terlihat seperti angka acak karena setiap kali kami membuka kembali file, kami cenderung mendapatkan angka yang sama mulai dari awal.

Jadi, bagaimana kita menghasilkan nomor acak terlepas dari apakah workbook dibuka kembali atau tidak?

Kita perlu menggunakan pernyataan "Acak".

Bagaimana Cara Menggunakan Pernyataan Acak VBA?

Anda dapat mengunduh Template VBA Acak Excel ini di sini - Template VBA Acak Excel

Contoh 1

Untuk mendapatkan nomor acak, yang perlu kita lakukan adalah menambahkan "Randomize" satu baris sederhana sebelum fungsi RND.

Kode:

 Sub Randomize_1 () Acak Debug. Cetak Rnd End Sub 

Sekarang saya akan menjalankan kode 4 kali dan melihat apa yang saya dapatkan.

Ini telah menghasilkan angka di atas di jendela lokal saya.

Sekarang saya akan menutup file dan membuka kembali file tersebut sekali lagi.

Seperti biasa, kita mulai dengan tampilan bersih di jendela visual basic.

Sekarang saya akan kembali mengeksekusi kode dan melihat angka apa yang kita dapatkan kali ini.

Wow!!! Kami mendapat nomor yang berbeda kali ini.

Karena kami menambahkan pernyataan Acak sebelum fungsi RND kami mendapatkan nomor acak yang berbeda setiap kali kami membuka kembali file.

Ini terlihat seperti nomor acak bukan ???

Contoh # 2

Angka Acak Lebih Besar Dari Satu

Seperti yang telah kita lihat, fungsi "RND" hanya dapat menghasilkan angka dari 0 hingga 1. Tetapi untuk menghasilkan bilangan yang lebih besar dari satu bilangan acak kita perlu menggunakan “ACAK ANTARA” yang tersedia dengan kelas fungsi lembar kerja.

Jadi, untuk menghasilkan bilangan acak yang lebih besar dari satu kita perlu menggunakan kode di bawah ini.

Kode:

 Sub Randomize_2 () Acak Debug. Cetak Rnd * 100 End Sub 

Sekarang saya akan mengeksekusi kodenya dan melihat apa yang kita dapatkan.

Seperti ini, kita dapat menggunakan pernyataan "Randomize" di VBA untuk menghasilkan nomor acak setiap kali kita membuka kembali file excel.