VBA ランダムの数値を条件を指定して出してみよう!



どうも、takaです(^^♪

皆さん、ランダムな数値を出したい時ってありますよね?(^^)

サイコロプログラム・くじ引きプログラム・じゃんけんプログラムなどなど、乱数を使うプログラムは結構多いです、私が前に作成した「クリックナンバー」や「フラッシュ演算」などもそうですね(^^♪

意外とメジャーな処理のはずなのにこの「ランダムの数値(乱数)」を使えない人が多い気がするんですよね(;^ω^)

なので今回はよく使う条件でランダムな数値を発生させてみたいと思います(^^)/

ランダムな数値を取得するには?

まずはおさらい、ランダムな数値取得するには、ランダムな数値を返すRnd関数を使用します。

Rnd関数について少しだけ触れますと、Rnd関数は「0以上・1未満」の数値を返す関数です、つまりすべて小数点以下の数値で返ってきてしまうということですね(笑)

まぁ小数点以下でも構わないならこのままでもいいのですが、多くの場合そのようなわけにもいかないと思います。

なので多くの場合は「int関数」を併用して使います、Int関数は小数点以下を切り捨てて返します。

ランダムの条件1:指定した範囲でランダムの数値を取得する方法

下記のコードは1~10の数値をランダムに返すコードです。

指定した範囲でランダムの数値を返すにはこのように書きます。

上記でも解説しましたが、Int関数は指定した数値の小数点以下を切り捨てて返します。上記のように1から10までの乱数を発生させたい場合は、最小値が1なので、

Int((10-1+1)* Rnd+))

と書きます、この最後の1が重要です!

Int関数は小数点以下を切り捨てます、1~10で乱数を発生させたい場合は最後の「+1」がないと「9.99999…~0」の中で小数点以下を切り捨ててしまうので、0~9の間の乱数しか取得できません(;^ω^)

ランダムの条件2:指定した範囲で重複なしのランダムの数値を取得する方法

次は指定した範囲で「重複なし」の数値を取得してみます。

解説はコメントに記載させていただいています(^^♪

ファイルやコードの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Twitterフォロー

 

ブログの更新通知を受け取るにはこちらにはこちら↓Twitterもやってます(^^♪Excelについてはあまり触れませんがブログの更新のお知らせはツイートしています(^^♪

Twitterフォロー

 



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

あることがキッカケでVBAを独学で勉強している、非IT企業の会社員。 今はVBAで出来ることを模索しながら別の開発言語の取得、基本情報技術者試験合格が目標