使用VBA检查单元格是否为空

时间:2014-06-27 18:17:12

标签: excel vba

Nom_1是我工作表中单元格的名称,用于以下代码中。 有些单元格是空的,我不希望调用NormInv函数,因为如果输入为空,它将返回错误。

我收到错误:Unable to get the NormInv property of the WorksheetFunction class

这使我相信我的if语句不正确,即使Nom_1为空,也允许输入和执行代码。

If Not IsEmpty(Nom_1) Then
internal_1 = Application.WorksheetFunction.NormInv(Rnd(), N_1, Std_1)
End If

我是否正确检查该单元格是否为空?

2 个答案:

答案 0 :(得分:0)

仅展开Barranka's评论,

您需要确保工作簿中存在名称为Nom_1N_1Std_1internal_1的所有单元格

然后使用Range("Nom_1")代替Nom_1

Sub MyNormInv()

If Not IsEmpty(Range("Nom_1")) Then
Range("internal_1") = Application.WorksheetFunction.NormInv(Rnd(), Range("N_1"), Range("Std_1"))
End If

End Sub

答案 1 :(得分:0)

您可以使用

 If Range(Nom_1).Value <> vbNullString Then
      internal_1 = Application.WorksheetFunction.NormInv(Rnd(), N_1, Std_1)
 End If

但是,如果您的公式在单元格中返回零长度字符串,请知道这将返回False。即使单元格不是“空”,它仍然会被视为空白,因为值为“”。