Excel VBA“;预期:报表结束“;错误

Excel VBA“;预期:报表结束“;错误,vba,excel,Vba,Excel,我正在尝试使用VBA在Excel中编写公式。此公式的目的是消除单元格D2中字符串中的“-”、“+”、“#”和“” Range("P2").Formula = "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,"-",""),"+",""),"#","")," ","")" 当我将此公式粘贴到单元格P2中时,它会按预期工作。但是,在使用上述代码时,会显示编译错误“Expected:end of statement” 此错误的原因是什么?发现错误,似

我正在尝试使用VBA在Excel中编写公式。此公式的目的是消除单元格D2中字符串中的“-”、“+”、“#”和“”

Range("P2").Formula = "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,"-",""),"+",""),"#","")," ","")"
当我将此公式粘贴到单元格P2中时,它会按预期工作。但是,在使用上述代码时,会显示编译错误“Expected:end of statement”


此错误的原因是什么?

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

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

您需要使用cell=WorksheetFunction.Substitute(D2,“-”,“)@yas,因为在VBA中似乎必须转义双引号。请参阅我对此问题发布的答案。