VBAで範囲を指定して乱数を生成する:Rnd,Int4タイトルとURLをコピーExcelの作業で切っても切り離せない乱数ですが、VBAでは、Rnd関数を使用します。今回は簡単なその使い方をご紹介します。Rnd関数の使い方Rnd関数は、0以上1未満の乱数を返します。Rnd(引数:作成方法)1Rnd(引数:作成方法)引数は数値で省略可です。値によって、乱数の作成方法が異なります。引数のシード値によって決まる同じ数値を返します。乱数系列※(乱数ジェネレータとも言う)の次の乱数を返します。直前に生成した乱数を返します。乱数系列の次の乱数を発生させます。※乱数系列とは、VBAが作成する乱数のセットで、Rnd関数を実行するとこのセットから乱数を出力します。独立した乱数(前回の結果を引きずらない乱数)を発生させたいのであれば、Randomizeステートメント+Rnd(引数省略)でひとまずOKです。(Randomizeステートメントは、乱数系列をリセットします)。ii,jを定義して、セルの範囲を指定する。指定したセルにRnd関数で乱数を発生させる。(繰り返す際にRandomizeで系列を初期化)という手順になっています。[実行結果]乱数の範囲を指定する:Intサイコロの目のように、最小値~最大値の整数値を乱数として出力させたい場合は、次のようにします。+最小値))</strong>Int関数は、指定した数値の整数部分を、小数点以下切り捨てにして返します。Int(N*Rnd+1)となります。Int関数は小数点以下を切り捨てますので、例えば1~6で乱数を発生させたい場合、最後の「+1」がないと6*Rnd=5.99999...~0の中で小数点以下を切り捨ててしまうので、0~5の間で生成されてしまいます。最後の+1を忘れないようご注意ください。下記例は、サイコロの目に見立てて1~6の乱数を20回発生させています。jjを定義して発生させるセルを指定する。指定したセルにint関数で乱数を生成する。(繰り返す際にRandomizeで系列を初期化)という手順になっています。下記は、Select~Case文を併用して、今夜の夕食をランダムに選ぶプログラムを組みます。"!"Int関数でDiceの数字を1~3からランダムに生成する。それぞれの数字が出た際に表示する文字を決定する。Debug.Printで表示する。いう手順になっています。MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。