【VBA】日付の乱数を取得する

VBAで
 ・日付の乱数を取得
できます!

VBAから
 ・ワークシート関数「RandBetween」
 ・VBA関数「CDate」
を使用することで実現できます!

PR

VBAコード

ここでは例として
 ・「最小値(日付)」と「最大値(日付)」の間の日付(=日付の乱数)を取得
します。
※「最小値(日付)」として「2022/2/1」を指定します。
※「最大値(日付)」として「2022/2/28」を指定します。

Option Explicit

Sub sample()
    
    Dim startDate As Date
    Dim endDate As Date
    Dim randomDateSrial As Date
    
    '最小値(日付)を指定
    startDate = "2022/2/1"
    '最大値(日付)を指定
    endDate = "2022/2/28"
    
    '日付の乱数を取得
    randomDateSrial = CDate(WorksheetFunction.RandBetween(startDate, endDate))
    
    MsgBox (randomDateSrial)
    
End Sub

「最小値(日付)」を指定します(10行目)。
「最大値(日付)」を指定します(12行目)。

ワークシート関数「RandBetween」とVBA関数「CDate」により、日付の乱数を取得します(15行目)。
※ワークシート関数「RandBetween」の実態は「WorksheetFunctionオブジェクト」の「RandBetween」メソッドです。

PR

実行結果

日付の乱数を取得できました。

実行結果
実行結果
PR

参考①

整数の乱数を取得することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

ワークシート関数「RandBetween
「WorksheetFunctionオブジェクト」の「RandBetween」メソッド



●VBA関数「CDate」

タイトルとURLをコピーしました