VBA公式R1C1不接受方括号内的计算

VBA formula R1C1 do not accept calculation inside square brackets

我有一段很旧的 VBA 代码,到目前为止它一直在为 Excel 工作。 现在我有 Office 365,我尝试 运行 这段代码,看起来它不起作用 - 根据我的调查。FormulaR1C1 and/or Excel 本身不接受方括号内的计算:

=IF(ISBLANK(RC[-7 + ((1 - 1) * 3)]);TRUE;False)

在 VBA 中,有效代码将是,如您在评论中所示:

R.FormulaR1C1 = "=RC[" & 1 + 6 & "]"

那是因为公式在写入工作表之前被简化为有效值。

要直接在 Excel 工作表中执行此操作,您可以使用相同的方法,但还需要使用 INDIRECT 函数:

=INDIRECT("RC[" & 1+6 & "]",FALSE)