2014-10-09 10 views
5

Obecnie mam makro, które po kliknięciu przycisku, to „przypadkowo” daje mi numer w msgbox:Excel VBA Rnd faktycznie nie Losowe

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

Chodzi o to, że liczby nie są w rzeczywistości losowo. Na przykład: Jeśli uruchomię makro, kliknij dwa razy przycisk, powiedzmy, że otrzymam liczby 5 i 2. Teraz, jeśli zamknę makro i ponownie go otworzę, a następnie dwukrotnie kliknę przycisk, otrzymam te same dwie liczby 5 i 2.

Teraz wiem, że w VB.net istniał sposób, aby faktycznie wypluć losowe liczby za każdym razem bez powtarzania "sekwencji", ale minęły lata odkąd dotknąłem vb.net, więc nie całkiem pamiętam , także nie wiedziałbym, jak go używać w programie excel vba.

Odpowiedz

16

Trzeba zainicjować losowego numer funkcji

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

Dziękuję bardzo! – HumanlyRespectable