教えて!ExcelVBA!

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

【ExcelVBA 関数】Rnd関数で乱数を発生させる方法を教えて!

f:id:m_kbou:20200420125136p:plain

 

 

構文

記述方法は以下の通りとなります。

Rnd と Randomize

[説明]:

Rnd関数は乱数(0以上1未満の範囲でランダムな数値)を発生させます。また、Randomizeステートメントは乱数系列を初期化します。

 

使い方

使い方について具体的に説明します。

[プログラミング例]:

Sub サンプル()

  Dim 行 As Double

  Randomize

  For 行 = 1 To 5
    Range("A" & 行) = Rnd
  Next

End Sub

内容は、「最初に変数:行を定義します。次にRandomizeステートメントで乱数系列の初期化をします。最後にFor~Next文を使い変数:行に1~5の数値をセットしながら乱数を発生させてA列1行目~5行目にセットして下さい。」との意味になります。

f:id:m_kbou:20210222122235p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20210301170725p:plain

②処理結果は以下の様になります。1行目~5行目に乱数がセットされます。

f:id:m_kbou:20210301170738p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com 

乱数を発生させる方法についての説明は以上です。

 

プログラミング(サンプル)

プログラミング事例を紹介します。

www.osiete-excelvba.work

 

おわりに

今回はRnd関数を使用した乱数を発生させる方法について説明しました。乱数はテストデータやシュミレーションデータ等を作成する場合に使用する事が多いです。是非活用してみて下さい。