ポイント
- 年月日を指定せずに時分秒のみを文字列指定した場合に Date へ変換すると、年: 1899、月: 12、日: 30、となる。
- day 関数のみ、なぜか小文字からはじまる。
VBA コード
Option Explicit Sub test() Dim s As String s = "2015/11/23 16:43" ' Date 型への変換判定 Debug.Print IsDate(s) ' Date 型への変換 Dim d As Date d = CDate(s) ' Date から年月日時分秒の取り出し Debug.Print Year(d) Debug.Print Month(d) Debug.Print day(d) Debug.Print Hour(d) Debug.Print Minute(d) Debug.Print Second(d) End Sub