Insert Formula in cells from VBA

M

Mouimet

Hi,
I have different data related together on a sheet.
I want to create a formula selecting the function depending the code I have
in cell A7
The formula in all cell should be like this
= Choose(A7,ATV,Connect,Sales,Hours, Closing)

Each option (ATV, Connect, etc) = "a function I need to create for each case"

In case the user select "1" in cell A7 to increase the ATV, the cell should
use the function ATV
Using a relative reference so I can use it everywhere
I tried this:

Function ATV()
ActiveCell.FormulaR1C1 = "=Average (RC[-3:RC[-1])"
End Function

This mean calculate the average of the last 3 columns (months)

For testing in cell AL67 instead of
= Choose(A7,ATV,Connect,Sales,Hours, Closing)
I use directly
=ATV()

I tried also =ATV(AL67)

What I need to see is the answer of the formula =Average (RC[-3:RC[-1])
when in the cell I have =ATV function

Thanks
 
B

Barb Reinhardt

ActiveCell.FormulaR1C1 = "=Average (RC[-3:RC[-1])"

Should be

ActiveCell.FormulaR1C1 = "=Average (RC[-3]:RC[-1])"
 
M

Mouimet

Hi Barb,
Thanks for the answer however,
I mistype the formula in my note. The formula was like you said. Sorry

Problem is when I type Estimate(al67) in a cell I get an #Value

Here the test I did
IN VBA the function is

Function Estimate()
ActiveCell.FormulaR1C1 = "=Average (RC[-3]:RC[-1])"
End Function


On the sheet:
the data are
(Formula will be here in
cell AL67)
Col: AI AJ AK AL

Row67 222 379 174 =estimate(AL67)


I should see the answer 258.33 (average of 222,379,174)
I just see #Value

THanks






Barb Reinhardt said:
ActiveCell.FormulaR1C1 = "=Average (RC[-3:RC[-1])"

Should be

ActiveCell.FormulaR1C1 = "=Average (RC[-3]:RC[-1])"
--
HTH,

Barb Reinhardt



Mouimet said:
Hi,
I have different data related together on a sheet.
I want to create a formula selecting the function depending the code I have
in cell A7
The formula in all cell should be like this
= Choose(A7,ATV,Connect,Sales,Hours, Closing)

Each option (ATV, Connect, etc) = "a function I need to create for each case"

In case the user select "1" in cell A7 to increase the ATV, the cell should
use the function ATV
Using a relative reference so I can use it everywhere
I tried this:

Function ATV()
ActiveCell.FormulaR1C1 = "=Average (RC[-3:RC[-1])"
End Function

This mean calculate the average of the last 3 columns (months)

For testing in cell AL67 instead of
= Choose(A7,ATV,Connect,Sales,Hours, Closing)
I use directly
=ATV()

I tried also =ATV(AL67)

What I need to see is the answer of the formula =Average (RC[-3:RC[-1])
when in the cell I have =ATV function

Thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top