我试图在VBA中使用FormulaR1C1属性,但一直运行时出错1004。我的代码如下。
ActiveCell.FormulaR1C1 = "=R[0]C[-1] * (1 + =R" & cellcount & "C1)"
有什么想法吗?
发布于 2017-01-31 03:54:11
从有限的可用信息来看,1004错误最可能的原因是使用了ActiveCell
。我建议您尝试完全限定单元格,看看这是否可以修复错误。
例如:
Worksheets("Sheet1").cells(1,1).FormulaR1C1 = "=R[0]C[-1] * (1 + R" & cellcount & "C1)"
根据有限的可用信息再次猜测,看起来您将对几个单元格应用此方法。这最好通过遍历单元格的循环来完成。这可以在一个范围(可能由用户选择?)上使用for each
语句来完成。或者根据需要通过for
语句来指定值。我强烈建议您在设置循环之前先尝试完全限定单个单元格作为测试。
另一种通常有用的测试方法是在尝试将公式附加到单元格之前将其存储在字符串变量中。这个分解将为您的调试提供另一个步骤。
示例:
Dim formulaTest as string
formulaTest = "=R[0]C[-1] * (1 + R" & cellcount & "C1)"
Worksheets("Sheet1").cells(1,1).FormulaR1C1 = formulaTest
这样每一行都有一个断点,应该可以让你清楚地知道错误是在哪里出现的。
https://stackoverflow.com/questions/41942101
复制相似问题