教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】Rnd関数の使い方を教えて!

構文

構文は以下の通りです。

Rnd([引数])

解説

Rnd関数は、0以上1未満の範囲でランダムな実数を生成する関数です。
●引数:オプションです。整数値を指定することで、乱数の種を設定することができます。

使い方

具体的な使い方を説明します。

1.ランダムな数値の生成

まずは、基本的な使い方として、0以上1未満の範囲でランダムな数値を生成する例を紹介します。

Dim randomValue As Double
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

上記のコードでは、Randomize文を使用して乱数の種を設定し、Rnd関数とInt関数を組み合わせて1から6までのランダムな整数を生成しています。生成した整数がサイコロの出目を示しています。

まとめ

Rnd関数は、0以上1未満の範囲でランダムな実数を生成するための便利な関数です。引数を指定することで、乱数の種を設定することができます。是非活用してください。