Excel VBAmacros – 使用公式中的单元格值

我有一个重复的任务,我试图用macros来解决。

我有一个数字单元格 – 比方说,单元格N4拥有5782.3

现在我想将B4单元格内容更改为=IF($K4<>0,5728.3,0)

我该怎么做? 我已经尝试了以下内容:

  Dim a As Double a = ActiveCell.Value ActiveCell.FormulaR1C1 = "=IF(RC4<>0,a,0)" ActiveCell.Offset(1, 0).Range("A1").Select 

但是,然后我在单元格中IF($K4<>0,a,0)我应该怎么写呢?

我不认为你需要为此使用VBA。

如果variablesaN4中的数字,则可以使用单元格公式:

 =IF($K4<>0,$N4,0) 

你的VBA没有按预期工作的原因是因为a是在引号内,并被视为字符“a”。 使用:

  ActiveCell.FormulaR1C1 = "=IF(RC4<>0," & a & ",0)"