首页 文章

除非工作表处于活动状态,否则R1C1公式引用会出现乱码

提问于
浏览
1

我试图避免激活工作表,因为我在电子表格中进行了计算 . 但是,我遇到了一个问题 . 此说明完全在我的Excel 2016(32位)版本上重现了该问题 .

创建一个包含2张工作簿的新工作簿:Sheet1和Sheet2 . Sheet1是空白的 . 在Sheet2中,在单元格A2:A21中,我放了一些整数 . 然后我添加了一个使用R1C1公式格式的模块,将一些公式放在Sheet2的G列中,使用以下代码:

Option Explicit
Sub Test()
Dim osht As Excel.Worksheet
Dim NumRows As Integer

Set osht = ThisWorkbook.Worksheets("Sheet2")

NumRows = 20
osht.Range("G1").Offset(1, 0).Resize(NumRows, 1).FormulaR1C1 = "=RC[-6]*5"

End Sub

我添加了一个图表工作表,用图表绘制Sheet2中的内容 . 如果您使用Sheet1或Sheet2作为活动工作表运行代码,它将正常工作, Sheet2!G2:G21 中的公式是正确的:

=RC[-6]*5

在CHART表激活的情况下运行代码,这不起作用 . Sheet2!G2:G21 中的公式如下所示:

=R[-1]C[16372]*5

这也发生在Excel 2013(32位)中 .

我在哪里错了?或者这是一个Excel错误?

1 回答

  • 1

    好的,解决了这个 . 我不需要使用R1C1引用来获得范围内的公式正确(我认为我做了) . 回到常规Formula vs. FormulaR1C1修复了这个问题 .

相关问题