教えて!ExcelVBA!

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

【ExcelVBA プログラミング】(関数8)DatePart関数のプログラミング例を教えて!

f:id:m_kbou:20200528072320p:plain

DatePart関数を使用したプログラミング例を紹介します。

 

 

例題

例題は、<実行>ボタンをクリックするとA列に入力されている年月日について、DatePart関数を使用して年末までの残日数をB列に表示するプログラミング方法です。

[実行前]:

f:id:m_kbou:20200528072343p:plain

[実行後]:

f:id:m_kbou:20200528072359p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

Sub サンプル()

  Dim 行 As Double
  Dim 経過日数 As Double

  For 行 = 2 To 7
    経過日数 = DatePart("y", Range("A" & 行))
    Range("B" & 行) = "年末まで残り" & 365 - 経過日数 & "日です。"
  Next

End Sub

内容を説明すると、

A列の2行目~7行目に入力されている年月日について、年始からの経過日数を調べます。また、年間日数(365日)より調べた経過日数を引き算(365 - 経過日数)して年末までの残日数を調べます。調べた残日数を”年末まで残り○○日です。”でB列に表示して下さい。

との意味になります。

f:id:m_kbou:20210212213937p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。また、ボタンにプログラムを割り当てるにはこちらを参考にして下さい。

 

ダウンロード

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

drive.google.com