教えて!ExcelVBA!

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

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

f:id:m_kbou:20200420123159p:plain

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

 

 

構文

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

DatePart(”[指定時間単位]”,[対象日])

[説明]:

対象日に対して指定した時間単位の値を返します。

[指定時間単位] [対象日]から抽出したい時間の単位文字を記述します。
具体的には以下表の単位文字いずれかを記述します。
※「”」(ダブルクォーテーション)で囲みます。
[対象日] 任意の対象日を記述します。
単位文字 単位
yyyy
四半期
年間通算日
ww

[記述例]:

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

 

おわりに

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