尝试使用引用多个单元格的 FormulaR1C1

Attempting to use FormulaR1C1 referencing multiple cells

我正在尝试在 VBA 中使用 FormulaR1C1 属性 但将 运行 保留为运行时错误 1004。我的代码如下。

ActiveCell.FormulaR1C1 = "=R[0]C[-1] * (1 + =R" & cellcount & "C1)"

有什么想法吗?

根据可用的有限信息,1004 错误最可能的原因是使用 ActiveCell。我建议您尝试完全限定单元格,看看是否可以修复错误。

例如:

Worksheets("Sheet1").cells(1,1).FormulaR1C1 = "=R[0]C[-1] * (1 + R" & cellcount & "C1)"

根据可用的有限信息再次猜测,您可能会将其应用于多个单元格。这最好通过遍历单元格的循环来完成。这可以使用 for each statement on a range (perhaps selected by the user?) or through a for 语句根据需要提供一个值来完成。我强烈建议您在设置循环之前首先尝试完全限定单个单元格作为测试。

另一种通常有用的测试方法是在尝试将公式附加到单元格之前将其存储在字符串变量中。这个分手会给你另一个调试步骤。

示例:

Dim formulaTest as string
formulaTest = "=R[0]C[-1] * (1 + R" & cellcount & "C1)"

Worksheets("Sheet1").cells(1,1).FormulaR1C1 = formulaTest

每行都有一个断点可以让您清楚地知道错误出现的位置。