VBA对象定义的错误
我得到一个基于代码底线的运行时错误“1004”。 如果我“结束”并重新运行,问题就不会出现。
我只包括相关的代码,因为我有很多variables,如果是和格式化代码。
Dim Yeild As String Sub NewPage() '... Yeild = "=INDEX(AcreGrid,MATCH(" & Chr(34) & Comm & Chr(34) & _ ",Prod!R3C1:R30C1,),MATCH(" & Chr(34) & Season & Chr(34) & _ ",Prod!R3C1:R3C16,))/" & ActiveCell.Offset(0, 3) '... the above formula has been giving me the most problems ActiveCell.Offset(0, 3).Formula = "=Vlookup(B" & ActiveCell.Row & ", EQF,5,)" 'Factor '... I didn't define the above formula because it was causing problems ActiveCell.Offset(0, 7) = Yeild '... End Sub
我也尝试了以下,但单元格引用B4更改为'B4'; 导致#NAME? 在Excel中的错误。
Yeild = "=INDEX(AcreGrid,MATCH(" & Chr(34) & Comm & Chr(34) & _ ",Prod!R3C1:R30C1,),MATCH(" & Chr(34) & Season & Chr(34) & _ ",Prod!R3C1:R3C16,))/Vlookup(B" & ActiveCell.Row & ", EQF,5,)" ActiveCell.Offset(0, 7) = Yeild
任何帮助将大大appriciated。
小东西
好的,首先一些挑剔的。 我build议明确指定.Formula
或.FormulaR1C1
而不是像在这一行那样隐含它:
ActiveCell.Offset(0, 7) = Yeild
错误信息的可能来源
现在为你的实际问题。 有很多地方可能会出现以下错误,并产生一个无效的公式
Yeild = "=INDEX(AcreGrid,MATCH(" & Chr(34) & Comm & Chr(34) & ",Prod!R3C1:R30C1,),MATCH(" & Chr(34) & Season & Chr(34) & ",Prod!R3C1:R3C16,))/" & ActiveCell.Offset(0, 3)
一个简单的例子,如果语句的最后一部分ActiveCell.Offset(0, 3)
返回空白或错误值,你最终会得到一个没有任何东西的公式或者一个错误:
=INDEX(AcreGrid,MATCH("",Prod!R3C1:R30C1,),MATCH("",Prod!R3C1:R3C16,))/
这不是一个有效的公式,因为最后的分歧。 因此,Excel会给您提供运行时错误1004,在这种情况下,它与“Microsoft Excel在您input的公式中发现错误”的含义相同。 消息,只有较less的帮助或描述性。
如果Comm
或Season
包含任何双引号,则另一个麻烦来源可能是"
。