我在VBA中有这个公式:
ActiveCell.FormulaR1C1 = "=IF(OR(A2=""ETG_C"",A2=""ETGC""),C2,""na"")"
当我查看activecell
时,它实际上会返回此公式:
=IF(OR('A2'="ETG_C",'A2'="ETGC"),$B:$B,"na")
如何强制它遵守第一个公式?
答案 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"")"