一系列日期的 VBA 网络日
Posted
技术标签:
【中文标题】一系列日期的 VBA 网络日【英文标题】:Networkdays in VBA for a range of dates 【发布时间】:2017-07-25 16:49:48 【问题描述】:我正在尝试在 VBA 中运行一些代码来检查两列的开始日期和结束日期,并在第三列中填写日期之间的相应工作日。
For i = 2 To N
Cells(i, F) = Application.networkdays(C, D)
Next i
以上是我已经尝试过的。在这种情况下,我无法显示 N 是什么,但它基本上是一个找到导入数据结尾的函数(一切正常)。我得到应用程序定义的错误。如果我删除应用程序。它说networkdays不是一个定义的子或函数。
For i = 2 To 50
Cells(i, "F") = Application.networkdays("C", "D")
Next i
如果我运行上面的代码,它会使用 #VALUE 填充第三列(50 是 N 的示例)
For i = 2 To 50
Cells(i, "F") = Application.networkdays(C, D)
Next i
如果我运行上面的命令,我会得到满列 0。
我怎样才能让它工作?看起来很简单,但 VBA 似乎被编程为让一切变得不可能! Excel 2013、2010 和 2016 上的相同问题
【问题讨论】:
【参考方案1】:您需要在公式中逐行进行。
Cells(i, "F") = Application.networkdays(Cells(i, "C"), Cells(i, "D"))
【讨论】:
我在工作上浪费了 2 个小时试图让它工作,并且有一次尝试了你刚刚输入的内容但它没有工作>。现在它可以工作了。感谢您的帮助,毫无疑问,当我明天进入下一阶段的数据操作时,我会回来的!以上是关于一系列日期的 VBA 网络日的主要内容,如果未能解决你的问题,请参考以下文章