構文
構文は以下の通りです。
WorksheetFunction.Days(終了日, 開始日)
解説
WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Days関数は、2つの日付の差を求める関数です。具体的には、「終了日」と「開始日」の間に何日があるかを計算してくれます。終了日と開始日の値には、日付が入ります。この関数は、正の数または負の数を返し、日付が未来であれば正の数、過去であれば負の数が返ります。
プログラミング例
具体的なプログラミング例を紹介します。
Sub 日付の差を計算する()
Dim 終了日 As Date
Dim 開始日 As Date
Dim 日数 As Long
' 日付の設定
終了日 = #12/31/2024#
開始日 = #1/1/2024#
' WorksheetFunctionオブジェクトを使って日数を計算
日数 = WorksheetFunction.Days(終了日, 開始日)
' メッセージボックスで結果を表示
MsgBox "開始日から終了日までの日数は " & 日数 & " 日です。"
End Sub
Dim 終了日 As Date
Dim 開始日 As Date
Dim 日数 As Long
' 日付の設定
終了日 = #12/31/2024#
開始日 = #1/1/2024#
' WorksheetFunctionオブジェクトを使って日数を計算
日数 = WorksheetFunction.Days(終了日, 開始日)
' メッセージボックスで結果を表示
MsgBox "開始日から終了日までの日数は " & 日数 & " 日です。"
End Sub
上記のプログラムでは、まず2つの日付(終了日と開始日)を設定し、その日付の差を計算しています。その結果を変数日数に代入し、メッセージボックスで表示しています。例えば、2024年1月1日から2024年12月31日までの間の日数を計算すると、365日が表示されます。
まとめ
Days関数は、2つの日付の差を計算するために使用します。構文では、「終了日」と「開始日」を指定し、その間の日数を返します。日付が未来であれば正の数、過去であれば負の数を返します。