こんなあなたにおすすめ
・Excel VBAで乱数を取得したい
今回は、Excel VBAでの乱数の取得方法について解説します。
Rnd関数とInt関数を使うことで、簡単に乱数を取得することができます。
早速見ていきましょう。
Excel VBAで乱数を取得したい
乱数を取得したい
Rnd関数を使うことで、0以上1未満のランダムな数(乱数)を取得することができます。
Sub test1() MsgBox "Rnd関数の値は" & Rnd & "です。" End Sub
上図の数値の部分は、処理を実行するたびに0以上1未満の値がランダムに出力されます。
このようにRnd関数を使うことで、簡単に乱数を取得することができます。
ただRnd関数を使うだけだと、少数の値を取得するだけになってしまい扱いづらいです。
そんなときは、Int関数と組み合わせて使うことで、整数として扱うことができます。
ランダムな整数を取得したい
ここでInt(Rnd)とすると小数点以下が切り捨てられるため、0しか出力されません。
そのため、Int(Rnd * 10)とすることで、0~9の値を取得することができます。
Sub test2() MsgBox "Rnd関数の値は" & Int(Rnd * 10) & "です。" End Sub
上図の数値の部分は、処理を実行するたびに0~9の値がランダムに出力されます。
指定した範囲でランダムな整数を取得したい
指定した範囲でランダムな整数を取得したいということもあると思います。
そういった場合には、下記のコードで対応できます。
Sub test3() Dim MaxValue As Long Dim MinValue As Long Dim i As Long MaxValue = 10 MinValue = 1 For i = 1 To 20 Cells(i, 1).Value = Int((MaxValue - MinValue + 1) * Rnd + MinValue) Next End Sub
For文については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】For Next文 繰り返し(ループ)処理
まとめ
ここまで、乱数の取得方法について解説しました。
Rnd関数、Int関数を使うことで簡単に乱数を取得できたかと思います。
また、指定した範囲の整数を取得することもできるため、乱数を取得したいときにとても便利です。
For文については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】For Next文 繰り返し(ループ)処理
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら
[…] ください。 関連記事:【ExcelVBA】乱数の取得方法 Rnd関数 & Int関数 […]