VBA Randomize | Làm thế nào để sử dụng Randomize Statement?

Phát biểu ngẫu nhiên trong VBA

Câu lệnh VBA Randomize là một câu lệnh một lớp đơn giản mà chúng ta thêm vào trước khi áp dụng hàm RND. Bất cứ khi nào một sổ làm việc được mở lại, câu lệnh Randomize cung cấp một số hạt giống mới cho hàm RND tùy thuộc vào thời gian hệ thống của máy tính.

Trước khi nói về câu lệnh Randomize, hãy để tôi giới thiệu với bạn một hàm RND đơn giản với VBA.

Như một hàm trang tính “RAND”, trong VBA “RND” cũng sẽ tạo ra các số ngẫu nhiên lớn hơn 0 nhưng nhỏ hơn 1.

Bây giờ hãy xem cú pháp của hàm “RND”.

[Số]: Chúng ta có thể chuyển đối số theo ba cách.

  • Nếu chúng ta chuyển số là <0, nó sẽ tiếp tục tạo ra cùng một số ngẫu nhiên mọi lúc.
  • Nếu chúng ta chuyển số là 0, nó sẽ lặp lại số gần đây nhất mà nó đã cho.
  • Nếu chúng ta vượt qua số> 0, nó sẽ tiếp tục cung cấp cho bạn các số ngẫu nhiên khác nhau tức là số ngẫu nhiên tiếp theo trong dãy.

Thí dụ

Để biết ví dụ, hãy xem đoạn mã dưới đây.

Mã:

 Sub RND_Example () Debug.Print Rnd End Sub 

Khi tôi chạy mã trong cửa sổ ngay lập tức, tôi có thể thấy số bên dưới.

Tương tự, khi tôi thực hiện mã này thêm 3 lần nữa, tôi có thể thấy các số bên dưới.

Bây giờ tôi sẽ đóng sổ làm việc và mở lại.

Bây giờ tôi sẽ quay lại cửa sổ trình chỉnh sửa cơ bản trực quan.

Bây giờ cửa sổ trước mắt trống rỗng và sạch sẽ.

Bây giờ một lần nữa, tôi sẽ thực thi mã bốn lần và xem những con số chúng ta sẽ nhận được trong cửa sổ ngay lập tức là gì.

Chúng tôi có những con số tương tự như chúng tôi đã nhận ở trên.

Đây không giống như một số ngẫu nhiên vì mỗi khi mở lại tệp, chúng ta có xu hướng nhận được các số giống nhau bắt đầu từ đầu.

Vì vậy, làm thế nào để chúng tôi tạo các số ngẫu nhiên bất kể sổ làm việc có được mở lại hay không?

Chúng ta cần sử dụng câu lệnh "Randomize".

Làm thế nào để sử dụng VBA Randomize Statement?

Bạn có thể tải xuống Mẫu Excel ngẫu nhiên VBA này tại đây - Mẫu Excel ngẫu nhiên VBA

Ví dụ 1

Để nhận các số ngẫu nhiên, tất cả những gì chúng ta cần làm là thêm một chữ lót đơn giản “Randomize” trước hàm RND.

Mã:

 Sub Randomize_1 () Randomize Debug.Print Rnd End Sub 

Bây giờ tôi sẽ chạy mã 4 lần và xem những gì tôi nhận được.

Nó đã tạo ra những con số trên trong cửa sổ cục bộ của tôi.

Bây giờ tôi sẽ đóng tệp và mở lại tệp một lần nữa.

Như thường lệ, chúng tôi bắt đầu với một phương tiện chặn sạch trong cửa sổ cơ bản trực quan.

Bây giờ tôi sẽ thực thi lại mã và xem lần này chúng ta nhận được những con số nào.

Chà !!! Lần này chúng tôi có những con số khác nhau.

Vì chúng tôi đã thêm câu lệnh Randomize trước hàm RND, chúng tôi nhận được các số ngẫu nhiên khác nhau mỗi khi chúng tôi mở lại tệp.

Đây trông giống như một số ngẫu nhiên phải không ???

Ví dụ số 2

Số ngẫu nhiên lớn hơn một

Như chúng ta đã thấy, hàm “RND” chỉ có thể tạo ra các số từ 0 đến 1. Nhưng để tạo ra các số lớn hơn một số ngẫu nhiên, chúng ta cần sử dụng “NGẪU NHIÊN GIỮA” có sẵn trong lớp hàm trang tính.

Vì vậy, để tạo các số ngẫu nhiên lớn hơn một, chúng ta cần sử dụng đoạn mã dưới đây.

Mã:

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

Bây giờ tôi sẽ thực thi mã và xem những gì chúng tôi nhận được.

Như vậy, chúng ta có thể sử dụng câu lệnh “Randomize” trong VBA để tạo các số ngẫu nhiên mỗi khi chúng ta mở lại tệp excel.


$config[zx-auto] not found$config[zx-overlay] not found