Excel VBAの「Date 関数」について解説します。
Date 関数とは
Excel VBA の Date 関数は、現在のシステム日付を返す関数です。
「現在の」は、「システム」と「日付」の両方にかかっています。システムに設定されている日付設定による現在の日付という意味です。
システム日付とは「システムが動作する機器が保持し、OS等が返却する現在の日付」のことです。 簡単に言えば「コンピュータの日付」です。ただし「コンピュータの日付」は「コンピュータに設定されている日付」なので設定が間違っている場合もあるので注意が必要です。
Date 関数(Visual Basic for Applications リファレンス)
構文(引数と戻り値)
Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。
構文
Date
引数
引数 | 説明 |
---|---|
なし | Date 関数に引数はありません |
戻り値
Date 関数の戻り値は次のとおりです。現在のシステム日付を含む Variant (Date) を返します。
戻り値 | 説明 |
---|---|
現在のシステム日付 | yyyy/mm/dd の形式で表示されます |
解説(使用例)
簡単なサンプルコードを作成して使用例を解説します。
Date 関数を確認するサンプル
次のコードは、Date 関数の動作を確認するサンプルです。
'■Date関数を確認する
Sub Date_Sample()
'▼Date関数でシステム日付表示
Debug.Print Date 'yyyy/mm/dd
'▼Dateをシリアル値(数値)で表示
Dim d As Double '変数を用意
d = Date 'Dateを変数に格納
Debug.Print d '変数の中身を確認
'▼シリアル値をyyyy/mm/dd(aaa)形式で表示
Debug.Print Format(d, "yyyy/mm/dd(aaa)")
End Sub
実行結果の イミディエイト 画像がこちらです。
▼Date関数でシステム日付表示
・4行目、Debug.Print で Date を表示させています。
結果「2024/05/28」’yyyy/mm/dd’ 形式でシステム日付(年月日)が表示されました。
▼Dateをシリアル値(数値)で表示
・6行目、Double型の変数 d を宣言します。
・7行目、d = Date で変数に Date を代入します。
・8行目、Debug.Print で d を表示させています。シリアル値は「45440」でした。
▼シリアル値を曜日付きの形式”yyyy/mm/dd(aaa)”で表示
・10行目、Debug.Print で Format 関数を使ってシリアル値を整形して表示させます。
Format(d, “yyyy/mm/dd(aaa)”) の結果は「2024/05/28(火)」と表示されました。
Date 関数の戻り値は ‘yyyy/mm/dd’ で表示されますがシリアル値だということがわかります。
Date など日付・時刻関数の使用例について
Date 関数のほか「日付・時刻」の関数については、過去記事で詳しく解説しています。是非下記のリンクからジャンプしていただければ幸いです。
おわりに
VBAの関数一覧はこちらです。
VBAサンプルファイルダウンロードページのご案内
このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。
ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!
Excel VBA Date 関数は、システム日付を ‘yyyy/mm/dd’ で返しますが、その中身はシリアル値だということを解説しました。
システム日付はコンピュータのカレンダーが指す日付です。もし、コンピュータの日付設定が誤っていた場合でも、そんなことはお構いなしにそのまま間違った「システム日付」を返します。
深夜0時を挟んだ日付では、1秒の違いでも1日ズレてしまうことになりますので注意しましょう。
以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;