
ExcelVBA ランダムな整数を生成するRnd関数で、サンプルデータの作成やシミュレーション、テストデータの生成に役立ちます。使い方や注意点など、サンプルコードをもとに具体的に解説します。
2025年の目標は繰り返し作業に悩まされない年にしませんか? Excel VBAを活用した効率化がその第一歩
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事
以下のようなシーンで利用で表示します。
1.テストデータを作成する際にランダムな値を割り当てる。
2.シミュレーションでランダムな結果を用いる。
3.抽選やゲームのランダム要素を実装
VBAでランダムな整数を生成するには、 Rnd 関数を使用します。範囲指定したランダムな整数を取得する場合は、 Int 関数を組み合わせます。
Int((最大値 - 最小値 + 1) * Rnd + 最小値)
1.乱数の初期化
毎回異なるランダム値を生成するには、 Randomize を使用して乱数を初期化します。これを省略すると、同じ値が繰り返される可能性があります。
2.Rndの戻り値
Rnd 関数は、0以上1未満の疑似乱数を返します。
3.範囲外エラーに注意
最大値と最小値の設定を間違えると、意図しない結果になることがあります。
Excel VBAで効率化の準備をしてみませんか?2025年をよりスムーズに過ごすための資格
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事
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
フォームモジュール(ランダムな整数をユーザーフォームのラベルやテキストボックスに表示する)
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で自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。