'How can I insert variable into formula in VBA
Can anyone solve this?
Sub test
Dim i as integer
For I = 1 to 10
ActiveCell.Offset(0, 2).Formula = "=Sum(E15,&i&)"
Next I
End Sub
Solution 1:[1]
your actual goal is unclear
you may want to start form this code
Sub test()
Dim i As Integer
For i = 1 To 10
cells(i, 4).Formula = "=Sum(E" & i & ":E15)"
Next
End Sub
and adjust it to your needs, knowing that:
it currently writes in cells "D1:D10"
since
cells(i, 4)references a cell in 4th column (i.e.: column "D") 4 andirow, and we're inside a loop whereiis looping through 1 to 10so if:
you want to reference a different column then just change
4to the proper column indexyou want to reference a different row then just change
ito the proper row index (may be somei+2if you need to iterate through 1 to 10 but start writing from row3)
the
formulawritten in those cells is:=SUM(E1:E15)in D1,=SUM(E2:E15)in D2,....
=SUM(E10:E15)in D10.so just change
"=Sum(E" & i & ":E15)"to your actual needs
Solution 2:[2]
You're close, trying to use ampersands (&) to concatenate strings.
ActiveCell.Offset(0, 2).Formula = "=Sum(E15," & i & ")"
Use the ampersands between strings to merge them, not inside strings.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | user3598756 |
| Solution 2 | Wolfie |
