【问题标题】:Leave cell empty if formulas result is 0如果公式结果为 0,则将单元格留空
【发布时间】:2018-03-13 10:32:19
【问题描述】:

如果没有值,我希望公式将单元格留空...当我运行这部分时,它说有错误..我确定错误在

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

整个部分代码是

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

【问题讨论】:

  • 在公式中要检查的一件事是左括号的数量和右括号的数量。两者应该是一样的...
  • 这就是它所说的......“错误”?? .... 我很确定 excel 错误报告会显示更多信息。

标签: vba excel excel-formula formula


【解决方案1】:

也许是这样

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

【讨论】:

  • 完美!!我会在 4 分钟内接受答案.. 它仍然不会让我!
【解决方案2】:

理想情况下,而不是

.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)),""""))"

【讨论】:

    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 2022-07-01
    • 1970-01-01
    • 2017-09-01
    相关资源
    最近更新 更多