R1C1公式引用是乱码,除非工作表处于活动状态

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

用两张图创build一个新的工作簿: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 

运行图表活动的代码,这是行不通的。 Sheet2!G2:G21的公式如下所示:

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

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

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

好的,解决了这个问题 我不需要使用R1C1引用来获得在范围内的公式(我以为我做了)。 回到常规公式与FormulaR1C1固定的问题。