DatePart関数は日付の指定した部分の値を抽出します。使い方について説明します。
【目次】
構文
DatePart関数の記述方法は、以下の通りとなります。
DatePart(”[時間間隔の単位]”,[評価の対象となる日付])
[説明]:
DatePart関数は対象日付の指定した部分の値を抽出して返します。[時間間隔の単位]には時間間隔の引数を記述します。具体的には以下表のいずれかを記述し「”」(ダブルクォーテーション)で囲みます。[評価の対象となる日付]には起点となる日付を記述します。内容を纏めると、「[評価の対象となる日付]を起点に[時間間隔の単位]で指定した時間の間隔を数字で返して下さい。」との意味になります。
[記述例]:
DatePart("yyyy", "2020/5/27")
DatePart("m", "2020/5/27")
DatePart("d", "2020/5/27")
DatePart("h", "2020/5/27 10:15:45")
DatePart("n", "2020/5/27 10:15:45")
DatePart("s", "2020/5/27 10:15:45")
使い方
使い方について具体的に説明していきます。
年の値を返す
評価対象となる日付に対し年の値を抽出する方法について説明します。
[プログラミング例]:
時間間隔の単位を表す文字に「yyyy」を記述します。
Sub サンプル()
MsgBox DatePart("yyyy", "2020/5/27")
End Sub
内容は、「評価の対象日付:2020/5/27の年を抽出し、MsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
結果は、年が2020年であるため「2020」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
年の値を返す方法についての説明は以上です。
月の値を返す
評価対象となる日付に対し月の値を抽出する方法について説明します。
[プログラミング例]:
時間間隔の単位を表す文字に「m」を記述します。
Sub サンプル()
MsgBox DatePart("m", "2020/5/27")
End Sub
内容は、「評価の対象日付:2020/5/27の月を抽出し、MsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
結果は、月が5月であるため「5」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
月の値を返す方法についての説明は以上です。
日の値を返す
評価対象となる日付に対し日の値を抽出する方法について説明します。
[プログラミング例]:
時間間隔の単位を表す文字に「d」を記述します。
Sub サンプル()
MsgBox DatePart("d", "2020/5/27")
End Sub
内容は、「評価の対象日付:2020/5/27の日を抽出し、MsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
結果は、日が27日であるため「27」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
日の値を返す方法についての説明は以上です。
時間の値を返す
評価対象となる日付に対し時間の値を抽出する方法について説明します。
[プログラミング例]:
単位を表す文字に「h」を記述します。
Sub サンプル()
MsgBox DatePart("h", "2020/5/27 10:15:45")
End Sub
内容は、「評価の対象日付:2020/5/27 10:15:45の時間を抽出し、MsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
結果は、時間が10時であるため「10」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
時間の値を返す方法についての説明は以上です。
分の値を返す
評価対象となる日付に対し分の値を抽出する方法について説明します。
[プログラミング例]:
時間間隔の単位を表す文字に「n」を記述します。(「m」と間違えやすいので注意して下さい)
Sub サンプル()
MsgBox DatePart("n", "2020/5/27 10:15:45")
End Sub
内容は、「評価の対象日付:2020/5/27 10:15:45の分を抽出し、MsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
結果は、分が15分であるため「15」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
分の値を返す方法についての説明は以上です。
秒の値を返す
評価対象となる日付に対し秒の値を抽出する方法について説明します。
[プログラミング例]:
時間間隔の単位を表す文字に「s」を記述します。
Sub サンプル()
MsgBox DatePart("s", "2020/5/27 10:15:45")
End Sub
内容は、「評価の対象日付:2020/5/27 10:15:45の秒を抽出し、MsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
結果は、秒が45秒であるため「45」が表示されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
秒の値を返す方法についての説明は以上です。
プログラミング(サンプル)
プログラミング事例を紹介します。
おわりに
今回はDatePart関数の使い方について説明しました。類似の内容に本日が年初から数えて何週目にあたるかを調べる方法や年間通算日を調べる方法があります。こちらも参考にして下さい。