Excel VBAの「Time 関数」について解説します。
Time 関数とは
Excel VBA の Time 関数は、現在のシステムの時刻を示す Variant (Date) を返します。
では、Time 関数の構文や引数の設定など、実際の使い方について解説していきたいと思います。
Time 関数(Visual Basic for Applications リファレンス)
構文(引数と戻り値)
Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。
構文
Time
引数
Time 関数に引数はありません。
戻り値
戻り値 | 説明 |
---|---|
時刻を示す値 | システムの現在時刻を示す Variant (Date) を返します |
Time 関数の戻り値は、現在時刻が格納されたシリアル値です。シリアル値は整数部分が日付(1日を1とした値)で、小数以下に時刻の値が格納されています。
VBAで Time 関数のシリアル値を扱う場合、格納する変数の型によって出力が異なるので注意が必要です。
・String型:時刻がそのまま文字列として格納されます。
・Double型: シリアル値が格納されます。時刻は小数以下です。
・Long型:整数部分だけ格納されるため時刻の格納はできません。
解説(使用例)
Time 関数の使用例で解説します。
Time 関数の戻り値を確認するサンプル
Time 関数の戻り値を各数値型変数に代入して表示するサンプルです。
'■Time関数の戻り値を確認するサンプル
Sub Time_Sample()
'▼戻り値を格納する変数を宣言
Dim dt As Date
Dim dd As Double
Debug.Print _
"▼各変数に格納して値を表示する"
dt = Time
Debug.Print "Date型:" & (dt)
dd = dt
Debug.Print "Double型:" & (dd)
Debug.Print _
"▼Double型をDate型に変換して表示する"
Debug.Print "Double型をDateに変換:" & CDate(dd)
Debug.Print _
"▼Double型をFormat関数で変換して表示する"
Debug.Print _
"Format(dd, ""h時m分s秒""):" & Format(dd, "h時m分s秒")
End Sub
コードを実行したイミディエイト画像 です。
▼戻り値を格納する変数を宣言
4~5行目、Date型変数 dt、Double型変数 dd を宣言しています。
▼各変数に格納して値を表示する
8~9行目、dt = Time でDate型変数に実行時の時刻を代入し、表示させています。
10~11行目、dd = dt Long型変数に dt を代し、dd の値を表示させています。
▼Double型をDate型に変換して表示する
15行目、CDate関数でDouble型変数 dd をDate型に変換して表示します。
▼Double型をFormat関数で変換して表示する
19~20行目、Format(dd, “h時m分s秒”) で “12時51分23秒” のように表示できました。
Date など日付・時刻関数の使用例について
Date 関数のほか「日付・時刻」の関数について解説している過去記事があります。下記のリンクからジャンプしてご覧いただければ幸いです。
おわりに
VBAの関数一覧はこちらからご参照ください。
VBAサンプルファイルダウンロードページのご案内
このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。
ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!
Excel VBA Time 関数は、現在のシステムの「時刻」だけを取得します。
現在のシステムの「日付」だけを取得するには Date 関数 を使用します。
現在のシステムの「日付時刻」を取得するには Now 関数 を使用します。
いずれも、現在のシステムから取得するのが共通点です。状況に応じて使い分けしてください。
VBAでこれらの関数を使う場合、変数に代入して使用したり、他の関数の引数として使用します。
以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;