将公式设置为一组单元格
这是我想要做的简单演示。 我想要将公式设置为一组单元格(例如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上执行此操作:
- 设置左上angular单元格的公式
- select整个范围
- 按Ctrl-d
Ctrl-D将填充选定的行,或填充选定的数组或列。 相对引用被应用。
用这个
Sub calc() Range("C1:C10").FormulaR1C1 = "=(R10C1+R10C2)" End Sub