1

我似乎在下面的公式中有一个类型不匹配错误。 Numbering,Approval,PeakShare和都作为范围存储,整数为app。我相信我在试图包含'app'的价值时正确地脱离了我的引用。但是我得到一个“类型不匹配”错误作为回报。我也尝试过包括一个非变量整数并接收一个“Object defined or application defined error”。我已经阅读了一些关于在Excel公式中使用间接和批准的内容,但是在VBA中没有发现很多内容,这是问题吗?对象定义或应用程序定义的错误,公式字符串

formulaUp = "=IF(" & Numbering.Address(True, False) & "<" & Approval.Address & ","""", " & PeakShare.Address & " * " & RampUp.Offset(0, -"" & app & "" + 1).Address(True, False) & ")" 
+0

这里不需要引号'RampUp.Offset(0, - “” &应用& “” + 1)'只是做'RampUp.Offset(0, - 1 *应用程序+ 1)' –

+0

我仍然返回应用程序定义的错误或对象定义的错误,因为当传递非变量整数时 –

+0

而且代码按预期工作,当我移除偏移量(0, - 1 *应用程序+1 )'部分@ScottCraner –

回答

1

类型不匹配来自

RampUp.Offset(0, -"" & app & "" + 1) 

你想传递给Offset没有多大意义的第二个参数,并抛出因为根据运算符优先级是(-"") & app & ("" + 1),既不括号内的表达式可以被计算。

显然,你的意思是

RampUp.Offset(0, -app + 1) 
+0

谢谢@GSerg,我感觉这是我的语法错误,这就是为什么我通过一个非变量整数。我仍然返回上面提到的对象定义错误,为什么包含'Offset(0, - 1 * app +1)'会导致这种情况? –

相关问题