尝试使用公式计算时得到运行时错误1004

在尝试计算VBA中的常见Excelexpression式时,出现运行时错误。 以下是似乎有问题的部分代码:

With ActiveSheet LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row .Range("F4").Formula = "=IF(AND(C5=0;D5=0;E5=0);B5;IF(AND(C5=0;OR(D5<>0;E5<>0));B5;0))" .Range("F4").Copy With .Range("F5:F" & LastRow) .PasteSpecial Paste:=8 .PasteSpecial Paste:=xlPasteFormulas .PasteSpecial Paste:=xlPasteFormats End With End With 

我认为在使用正确的VBA语法编写公式时存在一些问题,因为如果我只是用“= 2 + 2”replace它就行了。

CommareplaceSemicolon

 "=IF(AND(C5=0,D5=0,E5=0),B5,IF(AND(C5=0,OR(D5<>0,E5<>0)),B5,0))"