宏不与 Excel VBA 中的引号配合

宏不与 Excel VBA 中的引号配合

我有一个宏,其中包含一行,它将使用 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 列之前,否则会出现错误。

相关内容