Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » 乱数を発生させるエクセルマクロ-Rnd関数


乱数を発生させるエクセルマクロ-Rnd関数

対象:Excel2003, Excel2007, Excel2010

このサイト・インストラクターのネタ帳で
「VBA 乱数」
「乱数 マクロ」
といった検索が行われていました。

VBA(Visual Basic for Applications)で、乱数を発生させるマクロについて調べている方による検索です。

[スポンサードリンク]

この検索だけでは、どんな仕様が必要とされているのかわかりませんが、以下のようなマクロが参考になるでしょう。


▼選択されているセルに1から100の整数の乱数を発生させるマクロ

Sub 乱数を発生させる_1から100までの整数()

 Dim c As Range
 
 Randomize
 
 For Each c In Selection
  c.Value = Int((Rnd * 100) + 1)
 Next

End Sub

セルを選択しておいて上記のマクロを実行すると、選択されていたセルに1から100までの整数の乱数が表示されます。

実際に乱数を発生させるのが、For Each ~ Next文の中で使っているRnd関数です。

Rnd関数は、0以上1未満の、単精度浮動小数点型(Single型)の数値を返します。

1から100までの整数にするために
「Int((Rnd * 100) + 1)」
と100倍した値に1を加算してIntを取っています。

発生させる乱数を、他の範囲に限定したい場合は、この部分を変更するといいでしょう。

乱数のシード値を初期化するために、For Each ~ Next文に入る前に、Randomizeステートメントを入れてあります。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » 乱数を発生させるエクセルマクロ-Rnd関数

TrackBack:3

TrackBack URL
Randomizeステートメントとは? from インストラクターのネタ帳
対象:Excel2003, Excel2007, Excel2010 乱数を発生させるVBA(Visual Basic for Applications...
指定した文字列をランダムに入力するマクロ from インストラクターのネタ帳
対象:Excel2003, Excel2007, Excel2010 ランダムな整数をセルに入力するマクロや、ランダムな日付を入力するマクロをご紹介して...
重複しないランダムな数値・乱数を作成するマクロ from インストラクターのネタ帳
対象:Excel2003, Excel2007, Excel2010 乱数を発生させるマクロをご紹介しました。 For Each ~ Nextループ文の...

Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » 乱数を発生させるエクセルマクロ-Rnd関数

「マクロのサンプル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.