将公式设置为一系列单元格

时间:2013-03-20 11:41:21

标签: excel vba excel-vba excel-formula

这是我想要做的简单演示。我想将公式设置为一系列单元格(例如C1到C10)。

Range("C1").Formula = "=A1+B1"

但如何使公式使用这样的动态单元格:

Range("C1:C10").Formula = "=Ax+Bx"

所以实际上它就像是,

C1 = A1 + B1
C2 = A2 + B2
C3 = A3 + B3
C4 = A4 + B4
C5 = A5 + B5
...
C10 = A10 + B10

如何更改此公式的RHS以使上述工作:Range("C1:C10").Formula = "=Ax+Bx"

6 个答案:

答案 0 :(得分:41)

Range("C1:C10").Formula = "=A1+B1"

这很简单。

使用公式自动填充(FillDown)范围。

答案 1 :(得分:10)

我会在C1中更新公式。然后从C1复制公式并粘贴到C10 ......

不确定更优雅的解决方案

Range("C1").Formula = "=A1+B1"
Range("C1").Copy
Range("C1:C10").Pastespecial(XlPasteall)

答案 2 :(得分:8)

我认为这是最简单的答案:2行并且非常易于理解。它模拟了在一系列单元格中拖动单元格中编写的公式的功能。

Range("C1").Formula = "=A1+B1"
Range("C1:C10").FillDown

答案 3 :(得分:7)

使用FormulaR1C1:

Cells((1,3),(10,3)).FormulaR1C1 = "=RC[-2]+RC[-1]"

与Formula不同,FormulaR1C1具有相对引用。

答案 4 :(得分:1)

使用此

            Sub calc()


            Range("C1:C10").FormulaR1C1 = "=(R10C1+R10C2)"


            End Sub

答案 5 :(得分:0)

如果您要填充列,可以使用单个键盘命令在Excel 2010上执行此操作:

  1. 设置左上角单元格的公式
  2. 选择整个范围
  3. 按Ctrl-d
  4. Ctrl-D将填充选定的行,或填充选定的数组或列。应用相对参考。