VBAで乱数を生成する方法
VBAのRan関数を使用して乱数を生成する方法を解説します。
Rnd関数の引数は、省略可能です。
Rnd[(数値)]
引数(数値) | 返り値 |
---|---|
0より小さい場合 | 常に同じ数値をシード値として使用します。 |
0より大きい場合 | 擬似乱数シーケンスの次の番号。 |
0に等しい場合 | 最近生成された乱数。 |
省略した場合 | 擬似乱数シーケンスの次の番号。 |
所定の範囲でランダムな整数を生成する方法
Int関数は、小数点以下切り捨てにしてくれます。以下の式を利用して任意の範囲に含まれる乱数を生成することができます。
'Int((上限 - 下限 + 1) * Rnd + 下限) Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
サンプルコード
サイコロのように1~6の範囲で値を生成するサンプルコードです。
Sub sampleRnd() 'Int((6 - 1 + 1) * Rnd + 1) '式を整理すると以下の式になります。 MsgBox Int((6 * Rnd) + 1) End Sub
コメント