VBA:在IF-OR声明中使用第一个公式

时间:2010-05-18 18:29:59

标签: excel vba if-statement conditional

我在VBA中有这个公式:

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

当我查看activecell时,它实际上会返回此公式:

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

如何强制它遵守第一个公式?

2 个答案:

答案 0 :(得分:3)

ActiveCell.FormulaR1C1使用其他类型的单元格地址,您可以将其命名为第1行第1列。使用ActiveCell.Formula

答案 1 :(得分:1)

它显示$ B:$ B的原因是因为你的VBA公式包含C2。 Excel的VBA将此解释为工作表中的第2列,因为您使用的是FormulaR1C1方法。

将C2放在双引号中。

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