構文
構文は以下の通りです。
WorksheetFunction.Month(シリアル値)
解説
WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Month関数は、指定されたシリアル値の日付から「月」を取得する関数です。シリアル値は、Excelが日付をシリアル値で扱っているため、日付形式のデータ(例2024/09/22)をそのまま値に変換して「月」の数値(1〜12)を返します。
プログラミング例
具体的なプログラミング例を紹介します。
(例1)単純な月の取得
Sub 月を取得する例()
Dim 日付 As Date
Dim 取得した月 As Integer
' 今日の日付を取得
日付 = Date
' WorksheetFunctionオブジェクトを使って月を取得
取得した月 = WorksheetFunction.Month(日付)
' 結果を表示
MsgBox "今日の月は " & 取得した月 & " 月です。"
End Sub
Dim 日付 As Date
Dim 取得した月 As Integer
' 今日の日付を取得
日付 = Date
' WorksheetFunctionオブジェクトを使って月を取得
取得した月 = WorksheetFunction.Month(日付)
' 結果を表示
MsgBox "今日の月は " & 取得した月 & " 月です。"
End Sub
上記のプログラムは、Month関数を使って日付から「月」の部分だけを取り出し、取得した月変数に代入しています。
(例2) 指定した日付の月を取得
Sub 特定の日付の月を取得()
Dim 指定日付 As Date
Dim 月 As Integer
' 2024年12月25日を指定
指定日付 = "2024/12/25"
' WorksheetFunctionを使って月を取得
月 = WorksheetFunction.Month(指定日付)
' 結果を表示
MsgBox 指定日付 & " の月は " & 月 & " 月です。"
End Sub
Dim 指定日付 As Date
Dim 月 As Integer
' 2024年12月25日を指定
指定日付 = "2024/12/25"
' WorksheetFunctionを使って月を取得
月 = WorksheetFunction.Month(指定日付)
' 結果を表示
MsgBox 指定日付 & " の月は " & 月 & " 月です。"
End Sub
上記のプログラムは、指定日付に特定の日付(例では「2024/12/25」)を設定し、Month関数でその日付の「月」を取得し、月変数に入れています。
まとめ
Month関数を使用すると、指定された日付の「月」を数値で取得できます。日付はExcelの内部では通常値として認識されているため、ユーザーが認識している「日付」形式でも、問題なく処理できます。