構文
構文は以下の通りです。
Rnd([数値])
解説
Rnd関数は、0以上1未満の範囲でランダムな実数を生成します。
引数 | 指定 | 内容 |
数値 | 省略可 | 単精度浮動小数点数型 (Single) の数値または任意の有効な数式を指定します。設定値に対する戻り値について、以下で紹介します。 |
設定値に対する戻り値は、以下の通りです。
数値 | 戻り値 |
< 0 | 数値を乱数の種として使用し、毎回同じ値を返します。 |
> 0 | 0以上1未満の疑似乱数を返します。 |
= 0 | 直前に生成した乱数の値を返します。 |
省略時 | 0以上1未満の疑似乱数を返します。 |
使用例
Rnd
Rnd(0)
使い方
具体的な使い方を説明します。
1.ランダムな数値の生成
まずは、基本的な使い方として、0以上1未満の範囲でランダムな数値を生成する例を紹介します。
Dim randomValue As Double
randomValue = Rnd()
randomValue = Rnd()
上記のコードでは、Rnd関数を使用してランダムな数値を生成し、結果を変数「randomValue」に格納しています。
2.乱数の種の設定
Rnd関数の引数を使用することで、乱数の種を設定することができます。同じ乱数の種を設定すると、同じランダムな数列が生成されます。
Randomize [seed]
上記のコードでは、Randomize文を使用して乱数の種を設定しています。[seed]には整数値を指定します。乱数の種を設定しない場合、VBAの実行時に自動的に現在の時刻を乱数の種として使用します。
プログラミング例
サイコロの出目を生成するプログラミング例を示します。
Sub RollDice()
Dim diceValue As Integer
Randomize ' 乱数の種を設定
diceValue = Int((Rnd() * 6) + 1) ' 1から6までのランダムな整数を生成
MsgBox "出目: " & diceValue
End Sub
Dim diceValue As Integer
Randomize ' 乱数の種を設定
diceValue = Int((Rnd() * 6) + 1) ' 1から6までのランダムな整数を生成
MsgBox "出目: " & diceValue
End Sub
上記のコードでは、Randomize文を使用して乱数の種を設定し、Rnd関数とInt関数を組み合わせて1から6までのランダムな整数を生成しています。生成した整数がサイコロの出目を示しています。
まとめ
Rnd関数は、0以上1未満の範囲でランダムな実数を生成するための便利な関数です。引数を指定することで、乱数の種を設定することができます。是非活用してください。