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

我试图通过使用macros把这个=IF(D49>0,D49-D50-D51+D52+D53,)放到单元格D54

我的代码如下

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

但是当我运行macros。

细胞D54得到这个=IF('D52'>0,'D49'-'D50'-'D51'+'D52'+'D53',)

Excel会在公式中为每个公式添加引号,导致公式无效。 我怎样才能把macros观变成公式?

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

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

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

之前我曾经用过这个方法,并且用它来处理好结果。