VBA中的Networkdays用于一系列日期

时间:2017-07-25 16:49:49

标签: excel excel-vba vba

我正在尝试在VBA中运行一些代码,检查两列完整的开始日期和结束日期,并填写第3列,并在日期之间使用相应的工作日。

For i = 2 To N
Cells(i, F) = Application.networkdays(C, D)

Next i

以上就是我已经尝试过的。我不能在这种情况下显示N是什么,但它基本上是一个找到导入数据结束的函数(一切正常)。我得到应用程序定义错误。如果我删除应用程序。它说网络日不是一个定义的子或函数。

For i = 2 To 50
Cells(i, "F") = Application.networkdays("C", "D")
Next i

如果我运行上面的内容,则使用#VALUE填充第3列(50为N的示例)

For i = 2 To 50
Cells(i, "F") = Application.networkdays(C, D)
Next i

如果我运行以上操作,我会将列填满为0.

我怎样才能让它发挥作用?它似乎很简单,但VBA似乎被编程为使一切都变得不可能! Excel 2013,2010和2016上的相同问题

1 个答案:

答案 0 :(得分:2)

您需要在公式中逐行进行。

Cells(i, "F") = Application.networkdays(Cells(i, "C"), Cells(i, "D"))