Vba で eomonth を使用する方法 (例付き)
VBA でEoMonthメソッドを使用すると、指定された日付の月の最終日を返すことができます。
このメソッドを実際に使用する一般的な方法は次のとおりです。
Sub LastDayOfMonth()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i
End Sub
この特定のマクロは、範囲A2:A11内の各日付の月の最終日を検索し、範囲C2:C11内の対応するセルにその日付を表示します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で EoMonth を使用する方法
ある企業がさまざまな日付で行った売上に関する情報を含む次のデータ セットが Excel にあるとします。
A 列の各日付の月の最終日を検索し、C 列に表示するとします。
これを行うには、次のマクロを作成できます。
Sub LastDayOfMonth()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 C には、列 A の対応する各日付の月の最終日が含まれることに注意してください。
Excel の既定の形式であるシリアル番号ではなく、列 C に認識可能な日付形式で日付値を表示するためにNumberFormatプロパティを使用したことに注意してください。
また、 EoMonthメソッドの最後の引数は、月の最終日を計算するときに使用する前後の月数を指定することにも注意してください。
この例では、値0を使用して、現在の月の最後の日を検索することを指定しました。
ただし、代わりに、値-1を使用して前月の最終日を検索することを指定したり、値1を使用して翌月の最終日を検索することを指定したりできます。
注: VBA のEoMonthメソッドの完全なドキュメントは、ここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。