【VBA】現在日時・時刻を取得する

エクセルVBAで使うコードの備忘録。VBAでPC上の現在日時・時刻を取得するコード。Now・Date・Time関数の違いについて。

スポンサーリンク

Now関数:現在の日時を取得する

現在の日時(日付と時間)を取得するにはNow関数を使用します。引数は必要ありません。戻り値は日付型(Date型)です。

構文

'--- 変数dに現在日時を取得 ---'
Dim d as Date
d = Now

Date関数:現在の日付を取得する

現在の日付(時間を除く)を取得するにはDate関数を使用します。使い方はNow関数と同様で、引数は必要なく、戻り値のタイプは日付型(Date型)です。

構文

'--- 変数dに現在日付を取得 ---'
Dim d as Date
d = Date

Time関数:現在の時刻を取得する

現在の時刻(日付を除く)を取得するにはTime関数を使用します。この関数も、使い方は上記の関数と同様で、引数は必要なく、戻り値のタイプは日付型(Date型)になります。

構文

'--- 変数dに現在時刻を取得 ---'
Dim d as Date
d = Time

Now・Date・Time関数の比較

上記でもそれぞれ説明しましたが、具体的にそれぞれの関数の戻り値がどう違うのか見てみましょう。下記のようなサンプルコードを実行すると、各関数の戻り値はコメントに書いたようになります。

サンプルコード

Public Sub TimeFuncTest()

    '--- 戻り値を格納する変数 ---'
    Dim d1 as Date
    Dim d2 as Date
    Dim d3 as Date

    '--- 日時を取得 ---'
    d1 = Now   '戻り値は「2019/05/01 08:21:43」みたいな値になる

    '--- 日付を取得 ---'
    d2 = Date  '戻り値は「2019/05/01」みたいな値になる

    '--- 時刻を取得 ---'
    d3 = Time  '戻り値は「08:21:43」みたいな値になる

End Sub