如何在 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 列中每个相应日期的该月的最后一天。

请注意,我们使用NumberFormat属性在 C 列中以可识别的日期格式显示日期值,而不是 Excel 中的默认格式序列号。

另请注意, EoMonth方法的最后一个参数指定计算该月最后一天时要使用的提前或落后的月数。

在此示例中,我们使用值0来指定我们要查找当月的最后一天。

但是,我们可以使用值-1来指定我们要查找上个月的最后一天,或者使用值1来指定我们要查找下个月的最后一天。

注意:您可以在此处找到 VBA 中EoMonth方法的完整文档。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

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

添加评论

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