サイトについて      連絡先   検索

VBA DateDiff 関数

はじめに

Excel VBA の DateDiff 関数を紹介します。

DateDiff 関数は、二つの日時の間隔を返します。

指定の日時から経過した日や時間を取得したいときに使用します。

構文

DateDiff(単位, 日時1, 日時2)

名前 説明
引数「単位」単位を表す文字を指定します。
引数「日時1」この日時から。
引数「日時2」ここまでの日時。
戻り値数値型 (Integer)

引数「単位」

単位 説明
yyyy
m
d
h
n
s

解説

日時1 から日時2 までの経過時間 (単位) を返します。

単位が d (日)のとき、日時1 が今日で、日時2 が明日なら 1 を返します。

単位が d (日)のとき、日時1 が明日で、日時2 が今日なら -1 を返します。

日時1、日時2 に日付型に変換できない値を渡したときはエラーが発生します。

使用例

Dim d1 As Date
Dim d2 As Date
d1 = "2013/1/1"
d2 = "2013/1/8"

Debug.Print (DateDiff("d", d1, d2)) ' 7
Debug.Print (DateDiff("d", d2, d1)) ' -7

d1 = "1:2:3"
d2 = "2:2:3"
Debug.Print (DateDiff("h", d1, d2)) ' 1
Debug.Print (DateDiff("n", d1, d2)) ' 60
Debug.Print (DateDiff("s", d1, d2)) ' 3600

関連ページ