如果公式结果为0,则将单元格留空

时间:2017-10-02 10:47:24

标签: excel vba excel-vba excel-formula formula

如果没有值,我希望公式将单元格保留为空...当我运行此部分时,它表示存在错误...我确定错误在于

.Formula = "=IFERROR(E2*G2),"""")"

代码的整个部分是

With Range("H2:H" & LastRow)
    .Formula = "=IFERROR((E2*G2),"""")"
    .Value = .Value
End With

2 个答案:

答案 0 :(得分:2)

也许这个

With Range("H2:H" & LastRow)
    .Formula = "=IF(E2*G2=0,"""",e2*g2)"
    .Value = .Value
End With

答案 1 :(得分:1)

理想情况下,而不是

.Formula = "=IFERROR((E2*G2),"""")"

你应该使用

.Formula = "=IF(IFERROR((E2*G2),"""")=0,"""",IFERROR((E2*G2),""""))"

因为这会处理Error以及0。因此,根据评论,您的公式将是

.Formula = "=IF(IFERROR(INDEX(I:I,MATCH(VALUE(A2),E:E,FALSE)),"""")=0,"""",IFERROR(INDEX(I:I,MATCH(VALUE(A2),E:E,FALSE)),""""))"
相关问题