带引号的公式中的预期结束语句

PA_*_*ons 2 excel vba excel-2011

Sub FillNames()

Range("D2:D56").SpecialCells(xlCellTypeBlanks).Formula = _
    "=IF(AND(C>800,C<900),  "YES", "NO")"

End Sub
Run Code Online (Sandbox Code Playgroud)

我得到了预期的编译错误:语句结束.它似乎与YES和NO之间的引号有问题.

如果我删除YES和NO周围的引号并运行宏,它将运行并将公式引号中的内容打印到单元格中.我不明白引号如何导致语法错误.

我正在运行Excel 2011 for Mac,不知道是否与它有任何关系.

Tim*_*ams 6

字符串中的双引号需要通过加倍来转义:

Range("D2:D56").SpecialCells(xlCellTypeBlanks).Formula = _
                    "=IF(AND(C>800,C<900),  ""YES"", ""NO"")"
Run Code Online (Sandbox Code Playgroud)