Vba:日付から月と年を取得する方法
VBA でNumberFormatプロパティを使用すると、日付から月と年を取得できます。
実際にこのプロパティを使用する一般的な方法は次のとおりです。
SubGetMonthYear ()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = DateValue(Range(" A " & i))
Range(" C " & i).NumberFormat = " mm/yyyy "
Next i
End Sub
この特定のマクロは、範囲A2:A11内の各日付の月と年を検索し、範囲C2:C11内の対応するセルにこれらの値を表示します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA でこの日に日数を追加する
ある企業がさまざまな日付で行った売上に関する情報を含む次のデータ セットが Excel にあるとします。
日付列の各セルの月と年を取得するとします。
これを行うには、次のマクロを作成できます。
SubGetMonthYear ()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = DateValue(Range(" A " & i))
Range(" C " & i).NumberFormat = " mm/yyyy "
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 C には、列 A の対応する各日付の月と年が含まれることに注意してください。
NumberFormatプロパティを使用して、月を 2 桁、年を 4 桁で日付をフォーマットしたことに注意してください。
必要に応じて、これらの値を別の形式で表示することもできます。
たとえば、次の構文を使用すると、月を 1 桁で表示し (月に 1 桁しか含まれていない場合)、年を 2 桁で表示できます。
SubGetMonthYear ()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = DateValue(Range(" A " & i))
Range(" C " & i).NumberFormat = " m/yy "
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
さまざまな書式設定オプションを自由に試して、必要に応じて月と年の値を表示してください。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。