Iferror为工作表VBA返回0

时间:2015-09-27 13:54:34

标签: excel vba if-statement

我有一本非常广泛的工作簿,有数以千计的参考资料。我的老板希望我为所有项目制作一份GP,利润,费用的综合清单,但这样做很容易,我需要删除所有“#N / A”单元格,而不会影响这些单元格公式的完整性。 AKA我不仅要清除返回“#N / A”的单元格,而是使用= IFERROR( cell ,0)启动每个公式。有人可以帮我写一个VBA代码,将每个单元格放在一个选定的工作单上并插入一个IFERROR返回“0”?重要的是VBA只适用于选定的工作表,因为我不希望我的整个工作簿被IFERROR语句所覆盖。

1 个答案:

答案 0 :(得分:0)

Sub WrapIFERROR()
    Dim Cell As Range
    For Each Cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
        Cell.Formula = "=IFERROR(" & Mid(Cell.Formula, 2) & ",0)"
    Next
End Sub