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属性来格式化日期,其中两位数字表示月份,四位数字表示年份。

如果需要,我们可以选择以不同的格式显示这些值。

例如,我们可以使用以下语法来显示带有一位数字的月份(如果月份仅包含一位数字)和带有两位数字的年份:

 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 中执行其他常见任务:

如何在VBA中比较日期
如何在VBA中将字符串转换为日期
如何在VBA中计算两个日期之间的天数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注