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

  関連記事

日付時刻:時・分・秒を取得(Hour、Minute、Second 関数)

日付時刻から時・分・秒を取得する関数 【書式】 time_hour = Hour …

固定長形式で分割(TextToColumns メソッド)
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)

固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …

式を評価し、結果(真・偽)に応じた式・値を返す(IIf 関数)

IIf 関数 の使い方 IIf(アイイフ)関数は、式を評価してその結果(真・偽) …

VBA の演算子(文字連結演算子:& 演算子 + 演算子)

文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …

メッセージボックス使用例
メッセージボックスを表示(MsgBox関数)

MsgBox関数 【書式】 result = MsgBox ( Prompt [ …

フォントサイズ(Size,StandardFontSize)例
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)

フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …

DateSerial 関数 TimeSerial 関数 使用例
日付時刻:数値から日付・時刻データを取得( DateSerial 関数、TimeSerial 関数 )

DateSerial 関数(数値を使って日付データを取得) 【書式】 date …

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

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

上付き文字・下付き文字(Superscript,Subscript)

上付き文字(Superscript プロパティ) Superscript プロパ …

InStrRev 関数
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)

InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …