Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA中的IF函数_Vba_Excel - Fatal编程技术网

VBA中的IF函数

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:

我希望创建以下内容: 如果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)
谁能告诉我我的错在哪里吗


谢谢

您在公式中混合了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行)?