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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

ADO Stream オブジェクト テキスト(UTF-8)読み込み
テキストファイル(UTF-8)を読み込み、書き出し(ADODB.Stream)

Stream オブジェクト ADO(ActiveX Database Objec …

Spc 関数 01
指定した数のスペースを挿入する(Spc 関数)

指定した数のスペースを挿入 指定した数のスペースを挿入するには、Spc 関数を使 …

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

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

色の設定(ColorIndex プロパティ・Colors プロパティ)

ColorIndex プロパティ ColorIndex プロパティは、指定したオ …

Erase ステートメント(配列の初期化・動的配列のメモリ解放)

Erase ステートメントの使い方 【書式】 Erase myArray [, …

RSet 関数・LSet 関数 例1
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)

RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …

ユーザー設定リスト
ユーザー設定リストを使って並べ替える(Sort)

VBAでリスト、テーブルを並べ替える(Sort) VBAで、ソートを行うには、S …

フォントの設定(Font プロパティ)

フォントの設定(Font プロパティ) 指定されたオブジェクトのフォント情報(F …

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

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

文字列:文字列の指定した位置から指定文字数取得(Mid 関数,MidB 関数)

Mid 関数・MidB 関数 の使い方 【書式】 result_mid = Mi …