VBA中的IF函数
我希望创建以下内容: 如果C列中的单元格包含值TRUE,则应将B列中的相应值复制到AJ列中的相应单元格 这就是我到目前为止所做的:VBA中的IF函数,vba,excel,Vba,Excel,我希望创建以下内容: 如果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:
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)
谁能告诉我我的错在哪里吗
谢谢您在公式中混合了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($C2=TRUE;$B2;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($C2=TRUE;$B2;0)
你的意思是不是=IF(C2=TRUE;B2;0)
(复制到第1324行)?你的意思是=IF(C2=TRUE;B2;0)
(复制到第1324行)?