Home » excel » excel vba – insert a formula using variables

excel vba – insert a formula using variables

Posted by: admin May 14, 2020 Leave a comment

Questions:

Hi I want to insert formula into a cell by determining variables for each value.

Eg.

=G5/D5

So in cell

Sheets("Sheet1").cells(LastRow + 2, 2).value = "=columnletter1 + (lastrow + 2)/columnletter2 + (lastrow + 2)

I find the columnletter is G by determining if the column name is X and the row is LastRow + 2.
How do I write so that I get “=G5/D5” returned into the cell?

How to&Answers:

Not sure if I understand your requirements exactly, I think you mean:

columnletter1 is a string, = G
columnletter2 is a string, = D
lastrow is a long, = 3

To set a formula, construct a string and write to the .Formula property

    Sheets("Sheet1").cells(LastRow + 2, 2).Formula = _
    "=" & columnletter1 & lastrow + 2 & "/" & columnletter2 & lastrow + 2

Answer:

For your matrix calculations below, the given code including the formula with variables may be helpful.

For ROW= 0 To K - 1
    For COL= 0 To J - 1
        Range("G5").Offset(ROW, COL).Select
        ActiveCell.FormulaR1C1 = _
        "=SUMIFS(R2C5:R500C5,R2C4:R500C4,RC[" & -COL- 1 & "],R2C2:R500C2,R[" & -ROW- 3 & "]C,R2C3:R500C3,R[" & -ROW- 2 & "]C)"

    Next
    COL= COL + 1

Next
ROW= ROW + 1