包含variables的FormulaR1C1 – 应用程序定义的错误:Excel VBA
我正在尝试在Excel VBA中进行计算,但是出现错误
应用程序定义或对象定义的错误
这是我正在尝试执行的代码。 错误发生在线.FormulaR1C1 = ...
,但我不知道为什么。
Function CalcNumDays() Dim d1 As Date, d2 As Date, NoofDays As Variant d1 = "01/01/2017" d2 = "03/01/2017" NoofDays = Application.WorksheetFunction.NetworkDays(d1, d2) With Sheets("ALL") With .Range("K2:K" & .Cells(.Rows.Count, "A").End(xlUp).Row) .FormulaR1C1 = "=IFERROR(SUM((RC[-8]+RC[-7]/RC[-4])*NoofDays,0)" .Value = .Value End With End With End Function
尝试这个
.FormulaR1C1 = "=IFERROR(SUM(RC[-8]+RC[-7]/RC[-4])*" & NoofDays & ",0)"
你的问题是这一行:
.FormulaR1C1 = "=IFERROR(SUM((RC[-8]+RC[-7]/RC[-4])*NoofDays,0)"
你想包括variablesNoofDays
,所以这必须超出string,使用&符号连接string&
.FormulaR1C1 = "=IFERROR(SUM((RC[-8]+RC[-7]/RC[-4])*" & NoofDays & ",0)"
你也错过了一个括号来结束SUM
,所以最后的修正是
.FormulaR1C1 = "=IFERROR(SUM((RC[-8]+RC[-7]/RC[-4])*" & NoofDays & "),0)"