【发布时间】:2017-08-25 21:08:35
【问题描述】:
我正在构建一个宏,它将 AO 列中的日期(日期格式 dd/mm/yyyy hh:mm)与 AL 列中的日期(日期格式 dd/mm/yyyy hh:mm)进行比较,它将打印他们在工作日与列 AS 的差异(只是天数,而不是分钟等)我已经搜索并发现 NETWORKDAYS 是 excel 中的一个函数,但我不知道如何在 VBA 中实现它的范围.到目前为止,我的代码与我在网上找到的代码非常相似,但它是针对特定日期的,而不是针对某个范围的。有任何想法吗?非常感谢!
到目前为止我所拥有的是这个,但它说有一个与 d1=cell.Offset 一致的错误...我现在不知道为什么!
Dim d1 As Range, d2 As Range, wf As WorksheetFunction
'Dim N As Long
Set wf = Application.WorksheetFunction
For Each cell In Range(Range("AT2"), Range("AT2").End(xlDown))
Set d1 = cell.Offset(0, -4)
Set d2 = cell.Offset(0, -7)
cell.Value = wf.NetworkDays(d1.Value2, d2.Value2)
Next cell
【问题讨论】:
-
不是每个单元格都被视为一个循环吗?
-
抱歉没有看到编辑。
-
你需要
Set范围:Set d1 = cell.Offset(0, -4) -
现在它说问题出在 cell.Value = wf.NetworkDays(d1, d2)
-
你遇到了什么错误?