教えて!ExcelVBA!

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

ExcelVBAのWorksheetFunctionオブジェクトで使用するWeekNum関数の使い方

構文

構文は以下の通りです。

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

上記のプログラムは、WeekNum関数を使用して、日付が 1 年のうち何週目ノート計算し、変数週番号に格納します。この例では、週の開始日を月曜日としています。計算された週番号はセルB1に表示され、MsgBoxでもユーザーに通知されます。

まとめ

WeekNum関数を使うと、指定された日付が1年の何週目にあたるか簡単に計算できます。引き数として開始曜日を指定することで、週の始まりが日曜日か月曜日に柔軟に変更可能です。