带EOM函数的工作日VBA不给出非工作日结果



我试图获得一个月的最后一个工作日,相对于一个设定的日期-1个月:

下面的函数返回30/04/2022(这是一个星期六),我不明白为什么工作日应该返回31/05/2022 - 1个月,工作日= 29/04/2022?

Arrholidays是假日数组
报告日期= 31/05/2022

PnLD1WS.Cells(i, 159).Value = Application.WorksheetFunction.WorkDay(Application.WorksheetFunction.EoMonth(ReportDate, -1), 0, ArrHolidays)

也试过反转,仍然给出30/04/2022而不是29/04/2022

PnLD1WS.Cells(i, 159).Value = Application.WorksheetFunction.EoMonth((Application.WorksheetFunction.WorkDay(ReportDate, -1, ArrHolidays)), -1)

Application.WorksheetFunction. workday (Application.WorksheetFunction. workday)eomonmonth (ReportDate, -1) + 1, -1, ArrHolidays)

添加=工作日(日期+ 1,- 1)

检查给定日期是否为工作日,并给出最接近的工作日

相关内容

  • 没有找到相关文章

最新更新