2014-10-09 32 views
5

Tôi hiện đang có một macro mà khi tôi bấm một nút, nó là "ngẫu nhiên" mang lại cho tôi một số trong một MsgBox:Excel VBA Rnd Không Thật ngẫu nhiên

dim number as double 
number= Int(8 * Rnd + 1) - 1 
MsgBox number 

Có điều là, những con số này không thực sự ngẫu nhiên. Ví dụ: Nếu tôi bắt đầu macro, hãy nhấp vào nút hai lần, cho phép nói tôi nhận được số 5 và 2. Bây giờ nếu tôi đóng macro và mở lại và nhấp vào nút hai lần, tôi nhận được hai số 5 và 2 giống nhau.

Bây giờ tôi biết rằng trong VB.net có một cách để thực sự làm cho nó nhổ ra số ngẫu nhiên mỗi lần mà không lặp lại "chuỗi" nhưng đã nhiều năm kể từ khi tôi chạm vào vb.net vì vậy tôi không nhớ lắm , tôi cũng không biết làm thế nào để sử dụng nó trong vba excel.

Trả lời

16

Bạn cần phải khởi tạo chức năng số ngẫu nhiên

Sub test() 
Dim number As Double 
Randomize 
number = Int(8 * Rnd + 1) - 1 
MsgBox number 
End Sub 
+1

Cảm ơn bạn rất nhiều! – HumanlyRespectable