Excel VBAの日付関数:TODAYとNOWの完全ガイド

Excel VBAで日付と時刻を扱うTODAY関数とNOW関数の活用

TODAY関数の活用

TODAY関数は現在の日付を返します。この関数は特に、日付データが頻繁に更新されるような文書やスプレッドシートで便利です。例えば、日報やタイムシートの作成に利用できます。

TODAY関数は今日の日付(現在のシステムの日付)を取得できます。
ワークシート関数で使用する場合の構文: TODAY()
VBA関数としては使用できません。
引数: ありません。


NOW関数の活用

NOW関数は、現在の日付と時刻を返します。この関数は、正確なタイムスタンプが必要な場合に最適です。レポートの最終更新日時を記録するのに使えるほか、時間に基づいた条件式を設定する際にも役立ちます。

NOW関数は今日の日付と時刻(現在のシステムの日付と時刻)を取得できます。
ワークシート関数で使用する場合の構文: NOW()
VBA関数で使用する場合の構文: NOW
引数: ありません。

関連する「Excel VBA:日付・時間の関数一覧|シートの使用例を解説」も参照してください。




ワークシート関数での実行画面

B3でTODAY関数(=TODAY())を実行した結果、2010/7/5 と日付が表示されました。
今日の日付を表示したシート

B3でNOW関数(=NOW())を実行した結果、2010/7/5 20:01 と日付と時刻が表示されました。
今日の日付と時刻を表示したシート

VBA関数での実行画面

TODAY関数をVBAで使用した場合、下のように「コンパイル エラー:変数が定義されていません。」とエラーメッセージが表示され使用できません。
TODAY関数をVBAで使用した場合

VBAではTODAY関数の代わりに、DATE関数を使用します。
VBAではTODAY関数の代わりに、DATE関数を使用する

Sub mytest()
    Range("B3") = Date
End Sub

実行すると、下のように現在の日付が表示されます。
現在の日付が表示された

NOW関数を使用したVBAです。
NOW関数を使用したVBA

Sub mytest()
    Range("B3") = Now
End Sub

実行すると、日付と時刻が表示されます。
数式バーには秒が表示されていますが、セルには表示されていません。
秒を表示するにはセルの書式設定で行います。
日付と時刻が表示された

セルの上で右クリックし、表示されるメニューの「セルの書式設定」をクリックするとダイアログが表示されます。
秒を表示するには、左の分類から時刻を選択し種類を選択するか、下のようにユーザー定義で「:ss」を追加します。
セルの書式設定ダイアログで秒を設定

これで秒が表示されました。
秒が表示された

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved