2017-07-02 171 views
2

我想在Excel中使用VBA编写公式。此公式的目的是消除单元格D2中存在的字符串中的“ - ”,“+”,“#”和“”。Excel VBA“预期:语句结束”错误

Range("P2").Formula = "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,"-",""),"+",""),"#","")," ","")" 

当我将此公式粘贴到单元格P2中时,它按预期工作。但是,使用上述代码时,将显示编译错误“预期:语句结束”。

这个错误的原因是什么?

+0

你需要使用电池= WorksheetFunction.Substitute(D2, “ - ”, “”) – yass

+0

@yass看来,双引号必须在VBA中逃脱。看到我发布到这个问题的答案。 – Osama

回答

3

发现错误,似乎双引号必须加倍,例如:

Range("P2").Formula = "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,""-"",""""),""+"",""""),""#"",""""),"" "","""")"