教えて!ExcelVBA!

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

【ExcelVBA 関数】DatePart関数で年間通算日を調べる方法を教えて!

f:id:m_kbou:20200420123159p:plain

対象日が年間を通して何日目になるかを調べる方法を紹介します。

 

 

構文

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

DatePart(”[時間間隔の単位]”,[評価の対象となる日付])

[説明]:

指定した対象日を起点に指定した時間の間隔を数字で返します。

f:id:m_kbou:20211228135514p:plain

f:id:m_kbou:20211228135543p:plain

[記述例]:

DatePart("y", Date)

 

使い方

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

[プログラミング例]:

Sub サンプル()

  MsgBox DatePart("y", Date)

End Sub

指定した日付が年間通算で何日目になるのかを調べるため、[時間間隔の単位]に「y」を指定します。yは起点とする日付をもとに年初から数えて通算何日目にあたるかを数値で返します。また、[評価の対象となる日付]には本日の日付である引数「Date」を指定する事で、本日と年初間の年間通算日を算出します。結果「本日が年初から数えて通算何日目にあたるかをMsgBoxで表示して下さい。」との意味になります。

f:id:m_kbou:20210420081654p:plain

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

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210420081725p:plain

②結果は以下の様に表示されます。本日が2021/4/20となり年初から110日目にあたるため、MsgBoxで「110」が表示されます。

f:id:m_kbou:20210420081710p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

年間通算日を調べる方法についての説明は以上です。

 

プログラミング(サンプル)

プログラミング事例を紹介します。

www.osiete-excelvba.work

 

おわりに

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