在相对范围内使用variables而不是绝对值

这段代码工作正常:

ActiveCell.FormulaR1C1 = "=Sum(R[-6]C:R[-1]C)" 

但是,而不是在行-6,我想要把一个定义的variables – 让我说我定义x ,然后我写它如下:

 ActiveCell.FormulaR1C1 = "=Sum(R[-x]C:R[-1]C)" 

但是这给了我一个错误。 我怎样才能做到这一点?

您需要将公式的常量Text部分与variables分开,您可以通过在前后添加& 。Like: " & x & "

试试下面的代码:

 Dim x As Long x = 6 ActiveCell.FormulaR1C1 = "=Sum(R[-" & x & "]C:R[-1]C)" 

注意 :尽量避免使用ActiveCell ,而应使用完全限定的CellsRange 。 例如:

 Worksheets("Sheet1").Range("D10").FormulaR1C1 = "=Sum(R[-" & x & "]C:R[-1]C)"