对象定义或应用程序定义的错误,公式字符串

时间:2017-04-26 15:02:45

标签: excel-vba excel-formula string-concatenation type-mismatch vba

我似乎在下面的公式中遇到类型不匹配错误。 NumberingApprovalPeakShareRampUp都作为范围存储,app为整数。我相信我在试图包含' app'的价值时正确地逃脱了我的报价。但是我得到了#34; Type mismatch"错误的回报。我还试过包含一个非变量整数并接收一个"对象定义或应用程序定义的错误。"我已经阅读了一些关于在Excel公式中使用间接和批准的事情,但是在VBA中使用它并没有找到它,这是问题吗?

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

1 个答案:

答案 0 :(得分:1)

类型不匹配来自

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

您尝试传递给Offset的第二个参数没有多大意义,因为根据运算符优先级(-"") & app & ("" + 1)而抛出,并且两个括号中的表达式都不能计算

显然你的意思是

RampUp.Offset(0, -app + 1)