共用方式為


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 支援與意見反應