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