VBAで日時を扱うときのデータについて、紹介していきます。
Date(日付)型とは
VBAでは、日時を扱うために、「日付型」というデータ型が用意されています。
この日付型を使うと、日付の比較や加算、引き算などの計算ができます。
VBAで、日付型を記述するときは「#」記号で囲みます。
#月/日/年 時:分:秒#の内容で記述します。
Sub macro1()
Dim d1 As Date, d2 As Date, d3 As Date
d1 = #12/24/2020# ' #月/日/年#
d2 = #10:26:30 AM# ' #時/分/秒#
d3 = #12/24/2020 10:26:30 AM# ' #月/日/年 時/分/秒#
MsgBox d1 & vbCrLf & _
d2 & vbCrLf & _
d3
End Sub

文字列からDate型への自動変換
上記で紹介した記述法は見つらいので、文字列のように「”」記号で囲むこともできます。
文字列を日付型で定義したデータに代入すると、自動で日付型に変換されます。
Sub macro1()
Dim d1 As Date, d2 As Date, d3 As Date
d1 = "12/24/2020"
d2 = "10:26:30 AM"
d3 = "12/24/2020 10:26:30 AM"
MsgBox d1 & vbCrLf & _
d2 & vbCrLf & _
d3
End Sub


DateAdd(“d”, 0, c1.Cells(i, 16))