不包括公司假期时,NETWORKDAYS 无法正常工作

问题描述 投票:0回答:1

我正在尝试计算两个字段中的日期之间的工作日数,不包括公司假期,我已将其输入到指定范围内的单独工作表中。

如果我不尝试排除假期,我的代码可以正常工作,但是一旦添加范围参数,就不会返回任何值。

这工作正常:

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")

任何帮助将不胜感激。谢谢你。

excel vba
1个回答
0
投票

您不能在字符串中使用

Holidays!HRange
- 您必须提供地址。

Dim rg As Range
Set rg = Worksheets("Holidays").Names("HRange").RefersToRange

ActiveCell.Formula = "=NETWORKDAYS([@[AdjAPSRecvdDt]],[@[APS_ACK_DT]]," & rg.Address(External:=True) & ")"
© www.soinside.com 2019 - 2024. All rights reserved.