【ExcelVBA】乱数の取得方法 Rnd関数 & Int関数

こんなあなたにおすすめ

・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で覚えておくべき関数 作業効率アップ間違いなし

【Excelについて学びたい方】
Excel 最強の教科書[完全版]
【Excel VBAについて学びたい方】
Excel VBA 脱初心者のための集中講座
エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

1 COMMENT

コメントを残す

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