我想要创建以下内容: 如果列C中的单元格包含值TRUE,则应将列B中的相应值复制到AJ列中的相应单元格。
这是我到目前为止所做的:
Range("AJ2").Select
ActiveCell.FormulaR1C1 = "=IF(C[-33]=TRUE,B:B,0)"
Range("AJ2").Select
Selection.AutoFill Destination:=Range("AJ2:AJ1324")
运行宏时出现问题。以下语句将复制到AJ列的单元格中:
=IF(C:C=TRUE;B:(B);0)
,
在哪里我期待以下:
=IF(C:C=TRUE;B:B;0)
有人可以告诉我我的错误在哪里吗?
由于
答案 0 :(得分:0)
ActiveCell.FormulaR1C1 = "=IF(C[-33]=TRUE,RC2,0)"
答案 1 :(得分:0)
您正在公式中混合R1C1和A1类型参考。 B:B
不是R1C1参考。
如果你想:
=IF(C:C=TRUE;B:B;0)
然后你需要使用:
"=IF(C[-33]=TRUE,C[-34],0)"
我怀疑这可能不是你真正想要的公式,但你还没有解决这个问题。
获得正确公式的一种方法是在单元格中输入您真正想要的内容,然后检查cell.FormulaR1C1属性,以查看该公式是如何以不同的表示法形成的。
我怀疑,根据你的描述,你真正想要的是:
"=IF(RC[-33]=TRUE,RC[-34],0)"
将在单元格中显示为:
=IF(C2=TRUE;B2;0)
或
"=IF(RC3=TRUE,RC2,0)"
制造
=IF($C2=TRUE;$B2;0)