没有空间的VBAstring不工作,与空间的工作
我在Excel中玩弄VBA,不知道为什么这个错误是popup来的。
以下代码工作:
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"" "
所以只要删除空格来使代码行插入一个公式而不是一个string就会导致编译器错误1004。
在其他行使用itll插入公式没有问题,但连接文本与本地variables似乎抛出了这一点。 有任何想法吗?
Excel不会允许input不正确的公式。
当直接在表单中input公式时,如果它不是一个正确的公式,并且该单元格保持编辑模式,直到被删除或修复,将会出现错误。
1004错误只是表示该错误的vba。
为了帮助find公式中的错误,请将您的string放在一个variables中,然后debug.print来查看哪些内容不正确:
t = "=if(counta('" & aLoc & "Subbies'!$A$2:$A$20)>0, ""YES"", ""NO"" )" Debug.Print t
这将把公式放在excel中的直接窗口中,允许开发人员检查是否有错误。
底线:
你可以把任何你想要的string放在一个单元格中,但是如果你正在尝试使用一个公式,它必须是完整和准确的。
Excel正在抱怨你正在试图把一个坏的公式放在一个单元格中。 如果你想把一个“公式作为文本”放在一个单元格中,那么:
Sub DontQuoteMe() Cells(1, 1) = "'=if(counta( " & aLoc & "Subbies'!$A$2:$A$20>0 ""YES"", ""NO"" " End Sub
(使用空间完成相同的事情)