VBA使用Networkdays.Intl计算总工作日

时间:2015-10-29 02:52:11

标签: vba excel-vba excel

我如何使用Networkdays.Intl计算两个日期之间的工作日总数?

目前这是我的代码:

.Cells(lrow, "AH").Value = Abs(WorksheetFunction.NetworkDays_Intl(.Cells(lrow, "AD"), .Cells(lrow, "T"), 1))

我试图制作" ="带<>的符号但似乎错误。可以这样做还是另一种方式? 谢谢! :)

1 个答案:

答案 0 :(得分:1)

您对在单元格中编写公式以获取值并在VBA中调用工作表函数并将结果输出到单元格中感到困惑。

编辑1:您通常会将结果减去1,以便在不同日期之间获得正确的工作日计数。

对于第一个选项,请尝试:

.Cells(lrow, "AH").Formula = "=ABS(NETWORKDAYS.INTL(" & .Cells(lrow, "AD").Address _
                             & "," & .Cells(lrow, "T").Address & ",1))-1"

上面将在单元格上写下公式。

对于第二个选项:

.Cells(lrow, "AH").Value = Abs(Application.WorksheetFunction.NetworkDays_Intl( _
                           .Cells(lrow, "AD"), .Cells(lrow, "T"), 1)) - 1