VBAでランダムな正数を生成する方法

こんにちは!大阪市住之江区に拠点を置く会社『縁紡ぐ』の稲垣です。

当社は、Excel、ACCESS、RPAなどのシステム開発や既存ツールを使った業務効率化の提案、また、ITスキルアップのための教育に力を入れています。効率的なビジネス運営を目指している企業様、ITスキルの向上を図りたい企業や個人の方に、最適なご提案をさせていただきます。業務プロセスの改善とITスキルアップをサポートし、共に成長するパートナーでありたいと考えています。

目次

VBAでランダムな正数を生成する方法

VBAでランダムな正数を生成するには、Rnd関数とRandomizeステートメントを使用します。この方法を使えば、簡単に任意の範囲内でランダムな正数を取得できます。

RndとRandomizeとは

Rnd関数は0以上1未満のランダムな浮動小数点数を生成しますが、これを整数に変換するためには工夫が必要です。また、Randomizeステートメントを使って乱数のシードを初期化することで、毎回異なる乱数列を生成することができます。これにより、ランダムな数字を作成することができます。

例:1から100までのランダムな正数を生成する方法

以下のコードで、1から100までのランダムな正数を生成できます。

Sub GenerateRandomNumber()
    Dim randomNumber As Integer
    
    ' 乱数の初期化
    Randomize
    
    ' 1から100までのランダムな正数を生成
    randomNumber = Int((100 - 1 + 1) * Rnd + 1)
    
    ' 結果を表示
    MsgBox "ランダムな正数: " & randomNumber
End Sub

特定の範囲のランダムな正数を生成する関数を作成

Function GetRandomNumber(min As Long, max As Long) As Integer
    ' 乱数の初期化
    Randomize
    
    ' 指定された範囲のランダムな正数を生成
    GetRandomNumber = Int((max - min + 1) * Rnd + min)
End Function

関数の使い方

Sub TestGetRandomNumber()
    Dim randomNumber As Long
    
    ' 1から50までのランダムな正数を生成
    randomNumber = GetRandomNumber(1, 50)
    
    ' 結果を表示
    MsgBox "1から50までのランダムな正数: " & randomNumber
End Sub

VBAでランダムな正数を生成するには、Rnd関数とRandomizeステートメントを活用するとできます。ぜひ試してみてください!

記事を書いた人

稲垣

  • Excel、ACCESSでのシステム開発が得意
  • ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
  • 自家焙煎するほどのコーヒー好き
  • 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
  • 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
  • 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
  • お客様にとって本当に良いことかを第一に考える人
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次