構文
Rnd(Number) As Single
Number・・・・通常は省略で使用します。
戻り値 ・・・・・Single型 0~1の間の浮動小数点で返ります
戻り値 ・・・・・Single型 0~1の間の浮動小数点で返ります
0 以上 1 未満の乱数を返します。
Randomizeと併用して使用する事で、シード値が変更となりランダムな値を習得します。
Randomizeと併用して使用する事で、シード値が変更となりランダムな値を習得します。
Rnd関数のサンプルコード
Public Sub sample_rnd()
'■使用前にRandmizeで乱数系列のシード値を変更させる(初期化)
Randomize
'■0~1未満の小数点がランダムに戻ってくる
Debug.Print Rnd() '0.4150355
Debug.Print Rnd() '0.1599039
Debug.Print Rnd() '0.4977473
'■ランダムな整数値を取得する場合はInt関数を併用する(下記例は1~6の範囲で取得)
Debug.Print Int(6 * Rnd + 1) '1
Debug.Print Int(6 * Rnd + 1) '5
Debug.Print Int(6 * Rnd + 1) '2
'1~6を乱数で求める式は以下
'↓Int((最大値-最小値+ 1 )* Rnd +最小値))
'↓Int(( 6 - 1 + 1 )* Rnd + 1 ))
'↓Int(( 6 )* Rnd + 1 ))
'■ランダムで整数値以外を使用する場合は以下。
Dim num As Long
num = Int(3 * Rnd + 1) '1
Select Case num
Case 1
Debug.Print "大吉"
Case 2
Debug.Print "中吉"
Case 3
Debug.Print "小吉"
End Select
End Sub
注意点
- Rnd関数を使用前にRandmizeで乱数を初期化しましょう。
しないと保存してブック閉じる→再度開くと前回と同じ値を取得してしまいます。



コメント