こんにちは、Ryoです。
VBAで処理上日付や時刻を扱うことも多いと思いますので、それを扱うDate/Time/Now関数や年月日を別々に取得するYear/Month/Day関数、時分秒を別々に取得するHour/Minute
/Second関数について解説したいと思います。
1.現在の日付や時刻の取得
Sub Sample1() Cells(1, 1) = Date '現在の日付 Cells(2, 1) = Time '現在の時刻 Cells(3, 1) = Now '現在の日付と時刻 End Sub
このサンプルコードを実行するとセルA1に現在の日付、A2に現在時刻、A3に現在の日付と
時刻が書き込まれます。
コード内に記述している通りですが、
Date関数は「現在の日付」
Time関数は「現在の時刻」
Now関数は「現在の日付と時刻」
それぞれ取得しますので用途に応じて使い分けると良いと思います。
2.年月日を別々に取得
上述のサンプルでセルA1に日付が書き込まれてますので、それを使ってセルB1に「年」、B2に「月」、B3に「日」を書き込むサンプルコードを以下に記載します。
Sub Sample2() Cells(1, 2) = Year(Cells(1, 1).Value) '年 Cells(2, 2) = Month(Cells(1, 1).Value) '月 Cells(3, 2) = Day(Cells(1, 1).Value) '日 End Sub
これを実行するとセルB1~B3にそれぞれ「年」「月」「日」が書き込まれたと思います。
記述した通りでこちらもわかりやすいですが、
Year関数は「年」
Month関数は「月」
Date関数は「日」
それぞれ取得しますので、ファイルやフォルダ名などに使用する上で私は良く使ってます。
3.時分秒を別々に取得
こちらはSample1を実行するとセルA2に時刻が書き込まれますので、それを使ってセルC1に「時」、C2に「分」、C3に「秒」を書き込むサンプルコードになります。
Sub Sample3() Cells(1, 3) = Hour(Cells(2, 1).Value) '時 Cells(2, 3) = Minute(Cells(2, 1).Value) '分 Cells(3, 3) = Second(Cells(2, 1).Value) '秒 End Sub
これを実行するとセルC1~C3にそれぞれ「時」「分」「秒」が書き込まれたと思います。
記述した通りでこちらもまたわかりやすいですが、
Hour関数は「時」
Minute関数は「分」
Second関数は「秒」
それぞれ取得します。
ざっと目を通すだけで理解できるぐらいわかりやすい関数ですが、何かと使う機会も多いのでDate,Time,Now,Year,Month,Day,Hour,Minute,Secondを覚えておくと良いと思います。
以上が日付や時刻の取得を操作するVBAサンプルコードの紹介でした。
今回の記事が何かの参考になれば幸いです。
Ryo