ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

乱数ジェネレータを初期化 (乱数系列を再設定) する(Randomize ステートメント)

   

Randomize ステートメントの使い方


Rnd 関数 を使用する前に使用します。Randomize ステートメントを使用せず、乱数にシード値を設定しない場合、マクロを含むブックを一度閉じてから再度開いて実行した結果が常に一定となります。
シード値とは、乱数発生ルーチンの初期値に使われる値のことです。

【書式】

Randomize [ ( number ) ]


引数・戻り値

  • number  ・・・  シードを選択するための数値を指定します。
    引数 number を省略した場合、システムタイマーから取得した値(Timer 関数の戻り値)が新しいシード値として使われます。この場合ほぼ毎回違う値を得ることができます。

乱数系列を繰り返すには、数値を指定して Randomize ステートメントを実行する直前に、負の引数を指定して Rnd 関数を呼び出します。引数 number に同じ値を指定して Randomize ステートメントを使用しても、前の乱数系列を繰り返すことはできません。




Randomize 関数の使用例

サンプルVBAソース


実行結果

上記「サンプルVBAソース」をセルA1 からA5 で実行します。

Randomize 関数 例1

保存したブックを開いて「サンプルVBAソース」をセルB1 からB5 で実行した結果

Randomize 関数 例2

Randmize ステートメントを実行して乱数ジェネレータを初期化した後に、Rnd 関数 を実行したため、A 列、B 列の数値が変わりました。
乱数シード値を設定しない場合は、実行結果は常に一定となります。
( ⇒ Rnd 関数使用例2を参照)




 - VBA基本 , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

指定した数値を文字列に変換する(Str 関数)

Str 関数 の使い方 Str 関数は、数値・数式を文字列に変換して返す関数です …

Option Compare Text 例
Option Compare ステートメント

Option Compare ステートメントの使い方 【書式】 Option C …

Volatile メソッド
ユーザー定義関数:自動再計算関数の設定(Volatile メソッド)

ユーザー定義関数で、自動再計算を行うかどうかを設定する ワークシート上で使用する …

文字列:2つの文字列を比較する(StrComp 関数)

StrComp 関数の使い方 【書式】 result = StrComp ( s …

変数がオブジェクト型かどうかをチェックする( IsObject 関数 )

IsObject 関数の使い方 【書式】 result = IsObject ( …

UBound LBound 関数 使用例01
配列の要素数を取得する(UBound 関数・LBound 関数)

UBound 関数・LBound 関数 【書式】 result = UBound …

演算子の優先順位
VBA の演算子(演算子の優先順位)

演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …

文字列:文字列の一部を別の文字列で置換(Replace 関数)

Replace 関数の使い方 【書式】 result = Replace ( s …

Mid ステートメント 例
文字列:文字列変数内の一部を置き換える(Mid・MidB ステートメント)

Mid・MidB ステートメントの使い方 【書式】 { Mid | MidB } …

Join 関数
Join 関数(配列の要素を結合)

Join 関数 1次元配列の各要素を指定した区切り文字で連結します。 【書式】 …