Dim A
A = Year("2020/1/2") '年を取得
A = Month("2020/1/2") '月を取得
A = Day("2020/1/2") '日を取得
A = Weekday("2020/1/2") '曜日を数値で取得
A = WeekdayName(Weekday("2020/1/2")) '曜日を取得
A = Format("2020/1/2", "aaaa") '曜日を取得
Sub TEST7()
MsgBox DateSerial(2020, 1, 2) '年月日から日付を取得
End Sub
実行してみます。
年月日から日付に変換
結果は、『2020/01/02』と日付に変換されました。
日付から年月日を取得して、再度日付に変換したい場合は『DateSerial』を使いましょう。
実用例
日付から年、月、日、曜日を取得するVBAコードの実用例を2つ紹介します。
InputBoxの日付から年月日と曜日を取得してセルに入力する
InputBoxに入力した日付から年月日と曜日を取得して、セルに入力するVBAコードです。
Sub TEST8()
A = InputBox("日付を入力してください")
Cells(2, 1) = Year(A) '年をセルに入力
Cells(2, 2) = Month(A) '月をセルに入力
Cells(2, 3) = Day(A) '日をセルに入寮
Cells(2, 4) = Format(A, "aaaa") '曜日をセルに入力
End Sub
では、実行してみます。
Inputに日付を入力
日付を入力します。
年月日と曜日をセルに入力
セルに、年月日と曜日を入力できました。
今日の日付から年月日を取得する
今日の日付から年月日と曜日を取得するとかもできます。
Sub TEST9()
Dim A, B, C, D, E
A = Now
B = Year(A) '今日の日付から年を取得
C = Month(A) '今日の日付から月を取得
D = Day(A) '今日の日付から日を取得
E = Format(A, "aaaa") '今日の日付から曜日を取得
MsgBox B & vbLf & C & vbLf & D & vbLf & E
End Sub