![宏不与 Excel VBA 中的引号配合](https://linux22.com/image/1266817/%E5%AE%8F%E4%B8%8D%E4%B8%8E%20Excel%20VBA%20%E4%B8%AD%E7%9A%84%E5%BC%95%E5%8F%B7%E9%85%8D%E5%90%88.png)
我有一个宏,其中包含一行,它将使用 R1C1 公式类型更改单元格的公式。
公式是:
ActiveCell.FormulaR1C1 = _
"=IF(R[0]C[-2]=0,"",(R[0]C[-20]-R[0]C[-16]))"
每当我尝试运行宏时,它总是会出现一个对话框,提示
Run-time error '1004':
Application-defined or object-defined error.
当您单击“调试”时,它会突出显示宏中的这两行。我不知道如何修复它。有人能帮忙吗?
答案1
你缺少一个右括号
ActiveCell.FormulaR1C1 = _
"=IF(R[0]C[-2]=0,"""",(R[0]C[-20]-R[0]C[-16]))"
编辑:更正为将“”放入公式中
答案2
您的问题似乎出在引号上,您是否尝试过更改或转义引号?
答案3
尝试使用它:
ActiveCell.FormulaR1C1 = _
"=IF(R[0]C[-2]=0," & Chr(34) & Chr(34) & ",(R[0]C[-20]-R[0]C[-16]))"
请记住,此公式不能放在第 20 列之前,否则会出现错误。