重新计算公式

我有一个像这样的variables“porcen”的Sub:

Dim porcen as Integer porcen = Cells(1, 1).Value 

经过一些计算,我有3个variables。 Var1,Var2和Var3取决于variablesporcen。

 ActiveCell.FormulaR1C1 = "=(IF(R[" & var1 & "]C="""","""",((COUNTIF(R[" & var1+ 1 + var2 & "]C:R[" & var1 + 1 & "]C,R[" & var1 & "]C))-(COUNTIF(R[" & var3 & "]C:R[-5]C,R[" & var1 & "]C)))/(" & var2 & ")))" 

我不知道为什么如果我改变单元格(1,1)中的值,公式的结果保持不变。

我希望当我改变单元格(1,1)的值时,结果也会改变。

如果您在Cells(1,1)中更改值,则必须重新计算porcen,var1,var2,var3以反映该更改。 您可以使用事件macros自动执行此操作。

它看起来像porcen是一个长,string,甚至可能是从A1(也称单元格(1,1))赋值的变体。 如果要将porcenlocking为A1,请将其声明为范围typesvariables并将其Set为A1。

 dim porcen as range set porcen = cells(1, 1) ' do stuff with porcen.Value or porcen.Row or porcen.Column, etc just like a cell ' some say you don't have to do the next step before exiting the sub. I do it anyways. set porcen = nothing