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

时间:2017-03-24 05:44:10

标签: excel excel-vba vba

此代码工作正常:

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

但是我想要放置一个已定义的变量而不是行中的-6 - 让我说我定义x然后我按如下方式编写它:

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

但这给了我一个错误。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您需要将公式的常量Text部分与变量分开,然后通过在"之前和之后添加&来实现。喜欢:" & 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)"