VBA:在IF-OR语句中使用第一个公式

我在VBA中有这个公式:

ActiveCell.FormulaR1C1 = "=IF(OR(A2=""ETG_C"",A2=""ETGC""),C2,""na"")" 

当我看到activecell它实际上会返回这个公式:

 =IF(OR('A2'="ETG_C",'A2'="ETGC"),$B:$B,"na") 

我如何强迫它坚持第一个公式?

ActiveCell.FormulaR1C1使用其他types的单元格地址,在那里您将其命名为行1列1.使用ActiveCell.Formula

之所以显示$ B:$ B是因为你的VBA公式包含C2。 Excel的VBA将其解释为工作表中的第二列,因为您使用的是FormulaR1C1方法。

把C2放在双引号中。

 ActiveCell.FormulaR1C1 = "=IF(OR(A2=""ETG_C"",A2=""ETGC""),""C2"",""na"")"