ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How do I output a formula into a cell and then autofill using vb? (https://www.excelbanter.com/excel-programming/326927-how-do-i-output-formula-into-cell-then-autofill-using-vbulletin.html)

Cardiff Maths Student

How do I output a formula into a cell and then autofill using vb?
 
Hi!
I need to output a formula into a cell and then autofill. My problem is that
I don't know how far down this will go because it depends on a parameter that
the user has chosen. I will also need to sum this column. i.e.
I would normally write a loop:
For i=1 to n
Cells(i,1)=(1+(Cells(i,2))^2/Cells(1,3)
Next i ..etc
But I need the actual formula in the cell not just the value because I will
then be using Solver so the cells need to be connected to each other. Is this
possible?

Toppers

How do I output a formula into a cell and then autofill using vb?
 
Try this:


Sub AddFormula()

Dim n As Integer, i As Integer

Const Formula As String = "=1+BX^2/C1"

For i = 1 To n
Cells(i, 1) = Replace(Formula, "X", i)
Next i

End Sub

HTH



"Cardiff Maths Student" wrote:

Hi!
I need to output a formula into a cell and then autofill. My problem is that
I don't know how far down this will go because it depends on a parameter that
the user has chosen. I will also need to sum this column. i.e.
I would normally write a loop:
For i=1 to n
Cells(i,1)=(1+(Cells(i,2))^2/Cells(1,3)
Next i ..etc
But I need the actual formula in the cell not just the value because I will
then be using Solver so the cells need to be connected to each other. Is this
possible?


Tom Ogilvy

How do I output a formula into a cell and then autofill using vb?
 
Another:

Sub AddFormula()
Dim n As Integer, i As Long
n = Inputbox("enter row of last cell for formula")
if n = 0 then exit sub
Const Form As String = "=1+B1^2/$C$1"
Cells(1, 1).Resize(n,1) = Form
cells(n+1,1).FormulaR1C1 = "=Sum(R1C:R[-1]C)"
End Sub

or

Sub AddFormula()
Dim n As Integer, i As Long
n = Cells(Rows.Count, 2).End(xlUp).Row
If n = 0 Then Exit Sub
Const Form As String = "=1+B1^2/$C$1"
Cells(1, 1).Resize(n, 1) = Form
Cells(n + 1, 1).FormulaR1C1 = "=Sum(R1C:R[-1]C)"
End Sub


But the formula (Const Form) may need to be adjusted since the original
formula posted had unbalanced parentheses.

--
Regards,
Tom Ogilvy


"Toppers" wrote in message
...
Try this:


Sub AddFormula()

Dim n As Integer, i As Integer

Const Formula As String = "=1+BX^2/C1"

For i = 1 To n
Cells(i, 1) = Replace(Formula, "X", i)
Next i

End Sub

HTH



"Cardiff Maths Student" wrote:

Hi!
I need to output a formula into a cell and then autofill. My problem is

that
I don't know how far down this will go because it depends on a parameter

that
the user has chosen. I will also need to sum this column. i.e.
I would normally write a loop:
For i=1 to n
Cells(i,1)=(1+(Cells(i,2))^2/Cells(1,3)
Next i ..etc
But I need the actual formula in the cell not just the value because I

will
then be using Solver so the cells need to be connected to each other. Is

this
possible?





All times are GMT +1. The time now is 05:22 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com