【发布时间】:2017-01-06 22:53:17
【问题描述】:
我正在使用 Excel 中的 VBA,我一生都无法弄清楚为什么会弹出此错误。
以下代码有效:
Cells(1, 1) = " =if(counta( " & aLoc & "Subbies'!$A$2:$A$20>0 ""YES"", ""NO"" "
以下代码不起作用:
Cells(1, 1) = "=if(counta( " & aLoc & "Subbies'!$A$2:$A$20>0 ""YES"", ""NO"" "
因此,只需删除空格以使代码行插入公式而不是字符串,就会导致编译器通过错误 1004。
在我使用的其他行中,它会插入一个公式没问题,但是将文本与局部变量连接起来似乎会抛出这个问题。有什么想法吗?
【问题讨论】:
-
是因为公式不全。你错过了你所有的
),所以excel不能把它放进去,因为它是一个糟糕的公式。 -
我真的不在乎这个公式现在是否有效(我现在只是在乱搞)但错误不在 excel 中,它在代码中,即编译器不允许插入字符串,即使它是错误的。应该是excel错误,不是VBA错误
-
我应该澄清一下;当我开始这一切时,公式就完成了,然后开始删除一些东西,看看是不是那些字符抛出了错误,直到我发现它是 = 符号触摸了 " 没有空格。
-
这是正确的,编译器不允许输入不正确的公式。如果您尝试将其直接输入到 excel 中,则会发生错误 vba is throwing that error.
-
Cells(1, 1) = "=if(counta('" & aLoc & "Subbies'!$A$2:$A$20)>0, ""YES"", ""NO"" )"