2011年12月11日日曜日

[ExcelVBA] Rnd関数


■構文
Rnd[(number)]

■説明
0以上1未満の値を返します。
第一引数:(省略可能)、単精度浮動小数点数型 (Single) の数値を指定します。

初期シード値が変わらない限り、一連の Rnd 関数が返す乱数系列は同じになります。これは、連続する各 Rnd 関数が乱数系列の中の直前の乱数をシード値として、次の乱数をそれぞれ生成するためです。

システム タイマーから取得した新しいシード値を使って、乱数ジェネレータを初期化するには、Rnd 関数を呼び出す前に、引数を指定せずに Randomize ステートメントを実行してください。

■サンプルコード
  1. Option Explicit  
  2.   
  3. Sub SampleCode()  
  4.     Randomize  
  5.       
  6.     'A.0-4の値を返す(基本)  
  7.     Debug.Print Int(Rnd() * 5)  
  8.       
  9.     'B.1-5の値を返す  
  10.     'Aに1足す  
  11.     Debug.Print Int(Rnd() * 5) + 1  
  12.       
  13.     'C.100-104の値を返す  
  14.     'Aに100足す  
  15.     Debug.Print Int(Rnd() * 5) + 100  
  16.       
  17.     'D.100-105の値を返す  
  18.     Debug.Print Int(Rnd() * 6) + 100  
  19.       
  20.     'E.3,6,9,12,15 の値を返す  
  21.     'Bを3倍する  
  22.     Debug.Print (Int(Rnd() * 5) + 1) * 3  
  23. End Sub  

0 件のコメント: