構文
構文は以下の通りです。
WorksheetFunction.WeekNum(日付, [開始曜日])
解説
WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。WeekNum関数は、指定された日付が1年のうちの何週目にあたるか返します。日付は、週番号を取得したい日付を指定します。日付はDate型の値である必要があります。開始曜日(省略可能)は、週の開始曜日を指定します。省略すると日曜日が開始曜日となります。「1」を指定すると日曜日を週の開始日とし、「2」を指定すると月曜日を週の開始日とします。
プログラミング例
具体的なプログラミング例を紹介します。
Sub 週番号を取得する()
Dim 入力日付 As Date
Dim 週番号 As Integer
' セルA1の日付を取得
入力日付 = Range("A1").Value
' WeekNum関数を使用して週番号を取得
週番号 = WorksheetFunction.WeekNum(入力日付, 2) ' 月曜日を週の開始日とする
' 週番号をセルB1に出力
Range("B1").Value = 週番号
' 結果をメッセージボックスで表示
MsgBox "入力された日付は" & 週番号 & "週目です。"
End Sub
Dim 入力日付 As Date
Dim 週番号 As Integer
' セルA1の日付を取得
入力日付 = Range("A1").Value
' WeekNum関数を使用して週番号を取得
週番号 = WorksheetFunction.WeekNum(入力日付, 2) ' 月曜日を週の開始日とする
' 週番号をセルB1に出力
Range("B1").Value = 週番号
' 結果をメッセージボックスで表示
MsgBox "入力された日付は" & 週番号 & "週目です。"
End Sub
上記のプログラムは、WeekNum関数を使用して、日付が 1 年のうち何週目ノート計算し、変数週番号に格納します。この例では、週の開始日を月曜日としています。計算された週番号はセルB1に表示され、MsgBoxでもユーザーに通知されます。
まとめ
WeekNum関数を使うと、指定された日付が1年の何週目にあたるか簡単に計算できます。引き数として開始曜日を指定することで、週の始まりが日曜日か月曜日に柔軟に変更可能です。