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))