将公式设置为一组单元格

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

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

但如何使公式使用像这样的dynamic单元格:

 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"

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

不确定更优雅的解决scheme

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

就那么简单。

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

使用FormulaR1C1:

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

与Formula不同,FormulaR1C1具有相对的参考。

我认为这是最简单的答案:2行,很容易理解。 它模拟了在单元格范围内拖动单元格中写入的公式的function。

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

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

  1. 设置左上angular单元格的公式
  2. select整个范围
  3. 按Ctrl-d

Ctrl-D将填充选定的行,或填充选定的数组或列。 相对引用被应用。

用这个

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