教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA 関数】DatePart関数で本日が年初から数えて何週目にあたるかを調べる方法を教えて!

       f:id:m_kbou:20200420123104p:plain

本日が年初から数えて何週目にあたるかを調べる方法について説明します。調べるにはDatePart関数を使用します。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

DatePart(”[時間間隔の単位]”,[時間間隔を取得したい日付]

=======================================================================

[説明]:

DatePart関数指定した日付の同一年における時間間隔を整数値で返します。[時間間隔の単位]には時間間隔の引数を記述します。引数は「”」(ダブルクォーテーション)で囲みます。[時間間隔を取得したい日付]には起点となる日付を記述します。内容を纏めると、「[時間間隔を取得したい日付]を起点に[時間間隔の単位]で指定した時間の間隔を数字で返して下さい。」との意味になります。

[記述例]:

MsgBox DatePart("ww", Date)

 

使い方

使い方について、具体的に説明していきます。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox DatePart("ww", Date)
End Sub

-------------------------------------------------

今回は本日が年初から数えて何週目にあたるかを算出するため、[時間間隔を取得したい日付]に「WW」を指定します。WWは起点とする日付をもとに年初から数えて何週目にあたるかを数値で返します。また、[時間間隔を取得したい日付]には本日の日付である引数「Date」を指定する事で、本日と年初日の時間間隔を算出します。結果「本日が年初から数えて何週目にあたるかをMsgBoxで表示して下さい。」との意味になります。

[実行例]:

※本日が2019/12/25となり年初から52週目にあたるため「52」が表示されます。 

f:id:m_kbou:20191225111044p:plain

年初から数えて何週目にあたるかを調査する方法についての説明は以上です。

 

おわりに

今回は本日が年初から数えて何週目にあたるかを調べる方法について説明しました。類似した内容に年間通算日を調べる方法があります。こちらも一緒に覚えておいて下さい。