我正在尝试计算两个字段中的日期之间的工作日数,不包括公司假期,我已将其输入到指定范围内的单独工作表中。
如果我不尝试排除假期,我的代码可以正常工作,但是一旦添加范围参数,就不会返回任何值。
这工作正常:
ActiveCell.FormulaR1C1 = "=NETWORKDAYS([@[AdjAPSRecvdDt]],[@[APS_ACK_DT]])"
但是,这并不:
ActiveCell.FormulaR1C1 = "=NETWORKDAYS([@[AdjAPSRecvdDt]],[@[APS_ACK_DT]],Holidays!HRange)"
代码将运行,但电子表格中的字段只有“#VALUE!”
我使用了公式计算器,一切都评估得很好,直到它尝试计算最终值。
这就是收到“#VALUE!”之前“评估公式”框中的内容。错误:
NETWORKDAYS($K$2,$N$2,"Holidays!$A$2:$A$28")
任何帮助将不胜感激。谢谢你。
您不能在字符串中使用
Holidays!HRange
- 您必须提供地址。
Dim rg As Range
Set rg = Worksheets("Holidays").Names("HRange").RefersToRange
ActiveCell.Formula = "=NETWORKDAYS([@[AdjAPSRecvdDt]],[@[APS_ACK_DT]]," & rg.Address(External:=True) & ")"