首页 > 解决方案 > 在 VBA 中使用不包括周末(星期五)的日期加法

问题描述

我有一个代码在“H5”单元格中给出,不包括星期五,但它来自“H4”。而且我需要“H4” 也不包括星期五。

Sub DateAddition()

Range("H4").Value = DateAdd("d", 1, CDate(Range("H4").Value))

Range("H5").Value = WorksheetFunction.WorkDay_Intl(Range("H4").Value, 1, 16, 0)

End Sub

我试过使用 Like this 不幸的是不起作用。

Range("H4").Value = DateAdd("d", 1, CDate(WorksheetFunction.WorkDay_Intl(Range("H4").Value, 1, 16, 0))

我知道如果对这条线进行更改,我可以做到。但不知道代码

Range("H4").Value = DateAdd("d", 1, CDate(Range("H4").Value))

我需要“H4”单元格作为日期必须排除星期五

标签: excelvba

解决方案


只需使用与 H5 相同的方法即可。WorksheetFunction.WorkDay_Intl 方法已经添加了一天(由第二个参数给出)1,因此您不需要使用DateAdd.

Option Explicit

Sub DateAddition()
    Range("H4").Value = WorksheetFunction.WorkDay_Intl(Range("H4").Value, 1, 16, 0)
    Range("H5").Value = WorksheetFunction.WorkDay_Intl(Range("H4").Value, 1, 16, 0)
End Sub

推荐阅读