
ExcelVBA ランダムな整数を生成するRnd関数で、サンプルデータの作成やシミュレーション、テストデータの生成に役立ちます。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBA ランダムな整数を生成する利用シーン
以下のようなシーンで利用で表示します。
1.テストデータを作成する際にランダムな値を割り当てる。
2.シミュレーションでランダムな結果を用いる。
3.抽選やゲームのランダム要素を実装
Excel VBA ランダムな整数を生成|使い方とポイント
VBAでランダムな整数を生成するには、 Rnd 関数を使用します。範囲指定したランダムな整数を取得する場合は、 Int 関数を組み合わせます。
Int((最大値 - 最小値 + 1) * Rnd + 最小値)
1.乱数の初期化
毎回異なるランダム値を生成するには、 Randomize を使用して乱数を初期化します。これを省略すると、同じ値が繰り返される可能性があります。
2.Rndの戻り値
Rnd 関数は、0以上1未満の疑似乱数を返します。
3.範囲外エラーに注意
最大値と最小値の設定を間違えると、意図しない結果になることがあります。
Excel VBA ランダムな整数を生成するサンプルコード
Option Explicit
Sub GenerateRandomIntegers()
Dim ws As Worksheet
Dim i As Integer
Dim randomValue As Integer
' シートの設定
Set ws = ThisWorkbook.Sheets(1)
' 乱数の初期化
Randomize
' A1からA10にランダムな整数を生成して入力
For i = 1 To 10
randomValue = Int((100 - 1 + 1) * Rnd + 1) ' 1~100のランダム整数
ws.Cells(i, 1).Value = randomValue
Next i
End Sub
フォームモジュール(ランダムな整数をユーザーフォームのラベルやテキストボックスに表示する)
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
1. ラベル(例: Label1 )を配置します。
2. コマンドボタン(例: CommandButton1 )を配置します。
Option Explicit
Private Sub CommandButton1_Click()
Dim randomValue As Integer
' 乱数の初期化
Randomize
' 1~50のランダム整数を生成
randomValue = Int((50 - 1 + 1) * Rnd + 1)
' ラベルにランダム整数を表示
Me.Label1.Caption = "ランダム値: " & randomValue
End Sub
ThisWorkbookモジュール(ランダム値をワークブックの特定のシートに自動入力)
Option Explicit
Private Sub Workbook_Open()
Dim ws As Worksheet
Dim randomValue As Integer
' ワークシートの指定
Set ws = ThisWorkbook.Sheets(1)
' 乱数の初期化
Randomize
' ランダム値をセルB1に入力
randomValue = Int((20 - 5 + 1) * Rnd + 5) ' 5~20のランダム整数
ws.Range("B1").Value = randomValue
End Sub
ランダムな整数の生成でテストデータやシミュレーションに役立てられます。必ず Randomize で乱数を初期化し、範囲を正しく設定してください。
これらを活用して、さまざまな場面で効率的にランダム値を生成できます。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。