Rnd 函式

會傳回包含虛擬亂數的 Single

語法

Rnd [ (Number) ]

選擇性的Number 引數一或任何有效的數值運算式

傳回值

如果 Number Rnd 會產生
小於 0 每次使用 Number 做為 種子時,都會有相同的數位。
大於 0 虛擬隨機序列中的下一個數位。
等於 0 最近產生的數位。
未提供 虛擬隨機序列中的下一個數位。

註解

Rnd 函式會傳回小於 1 但大於或等於零的值。

Number的值會決定Rnd如何產生虛擬亂數:

  • 對於任何指定的初始種子,都會產生相同的數位序列,因為每個連續呼叫 的 Rnd 函數都會使用前一個數位做為序列中下一個數位的種子。

  • 在呼叫 Rnd之前,請使用不含引數的 Randomize 語句,以根據系統計時器的種子初始化亂數產生器。

若要在指定範圍內產生隨機整數,請使用下列公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

在這裡, upperbound 是範圍中最高的數位, 而 lowerbound 是範圍中的最低數位。

注意事項

若要重複亂數序列,請在搭配數值引數使用Randomize之前,立即使用負數引數呼叫Rnd。 對Number使用具有相同值的Randomize並不會重複先前的序列。

範例

這個範例會使用 Rnd 函數來產生從 1 到 6 的隨機整數值。

Dim MyValue As Integer
MyValue = Int((6 * Rnd) + 1)    ' Generate random value between 1 and 6.

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應