如何在所有公式周围包裹IF(ISBLANK(

时间:2018-08-01 11:15:22

标签: excel vba excel-formula

我在互联网上找到了此VBA代码。它将“ IFERROR”包装在所有公式周围。

Sub Add_IFERROR()
Dim R As Range

For Each R In Selection.SpecialCells(xlCellTypeFormulas)
    If Left(R.Formula, 8) <> "=IFERROR" Then
        R.Formula = "=IFERROR(" & Mid(R.Formula, 2) & ","""")"
    End If
Next R

End Sub

我试图对其进行修改,因此它包装了“ IF(ISBLANK(”),但出现编译错误。

如果ISBLANK = TRUE,则显示空白(什么都不显示,“”);如果为FALSE,则显示空白。

1 个答案:

答案 0 :(得分:3)

ISBLANK IF ERROR的工作方式不同。它的作用与 IS 错误相同。它仅返回TRUE / FALSE。要使其在公式中起作用,您可以使用以下代码:

Sub Add_ISBLANK()
Dim R As Range

For Each R In Selection.SpecialCells(xlCellTypeFormulas)

     If Left(R.Formula, 8) <> "=ISBLANK" Then
          R.Formula = "=IF(ISBLANK(" & Mid(R.Formula, 2) & "),""""," & Mid(R.Formula, 2) & ")"
     End If
Next R

End Sub

=FORMULA,它将产生=IF(ISBLANK(FORMULA),"",FORMULA)