如何通过Excel VBA将公式放入单元格?

时间:2015-05-26 11:50:48

标签: excel vba excel-vba

我正在尝试使用宏将此=IF(D49>0,D49-D50-D51+D52+D53,)放入单元格D54

我的代码如下

Range("D54").FormulaR1C1 = "=IF(D52>0,D49-D50-D51+D52+D53,)"

但是当我运行宏时。

单元格D54会改为=IF('D52'>0,'D49'-'D50'-'D51'+'D52'+'D53',)

Excel为公式中的每个dell添加引号,使公式无效。我怎样才能将宏视为公式?

2 个答案:

答案 0 :(得分:2)

我认为您遇到问题是因为您使用的是R1C1公式属性,但您在公式中使用了经典的单元格引用。您应该使用Range("D54").Formula属性。所以你的代码看起来像是:

Range("D54").Formula = "=IF(D52>0,D49-D50-D51+D52+D53,)"

答案 1 :(得分:0)

您可以使用Range("D54").Value = "=IF(D52>0,D49-D50-D51+D52+D53,)"

之前我使用过这种方法,并用它取得了良好的效果。