this is simple demo of what i want to do. I want to set a formula to a range of cells(eg. C1 to C10).
Range("C1").Formula = "=A1+B1"
but how to make formula use dynamic cells like this:
Range("C1:C10").Formula = "=Ax+Bx"
so in reality it is like,
C1 = A1 + B1
C2 = A2 + B2
C3 = A3 + B3
C4 = A4 + B4
C5 = A5 + B5
...
C10 = A10 + B10
how to change RHS of this formula to make above working: Range("C1:C10").Formula = "=Ax+Bx"
Select the cell with the formula and the adjacent cells you want to fill. Click Home > Fill, and choose either Down, Right, Up, or Left. Keyboard shortcut: You can also press Ctrl+D to fill the formula down in a column, or Ctrl+R to fill the formula to the right in a row.
Press F5 or CTRL+G to launch the Go To dialog. In the Go to list, click the name of the cell or range that you want to select, or type the cell reference in the Reference box, then press OK. For example, in the Reference box, type B3 to select that cell, or type B1:B3 to select a range of cells.
1. Select a blank cell, enter the following formula and press the Enter key. Select the result cell, drag its AutoFill Handle down to the cells where you want to apply the formula. Notes: If the given number is not in the specified number range, the formula will return the result as 0.
Range("C1:C10").Formula = "=A1+B1"
Simple as that.
It autofills (FillDown) the range with the formula.
I think this is the simplest answer possible: 2 lines and very comprehensible. It emulates the functionality of dragging a formula written in a cell across a range of cells.
Range("C1").Formula = "=A1+B1" Range("C1:C10").FillDown
I would update the formula in C1. Then copy the formula from C1 and paste it till C10...
Not sure about a more elegant solution
Range("C1").Formula = "=A1+B1"
Range("C1").Copy
Range("C1:C10").Pastespecial(XlPasteall)
Use FormulaR1C1:
Cells((1,3),(10,3)).FormulaR1C1 = "=RC[-2]+RC[-1]"
Unlike Formula, FormulaR1C1 has relative referencing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With