4
Sub FillNames()

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

End Sub

我得到预期的编译错误:语句结束。YES 和 NO 周围的引号似乎有问题。

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

我正在运行 Excel 2011 for Mac,不知道这是否与它有关。

4

1 回答 1

9

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

Range("D2:D56").SpecialCells(xlCellTypeBlanks).Formula = _
                    "=IF(AND(C>800,C<900),  ""YES"", ""NO"")"
于 2014-06-11T21:58:43.257 回答