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
我是否正确检查该单元格是否为空?
答案 0 :(得分:0)
仅展开Barranka's评论,
您需要确保工作簿中存在名称为Nom_1
,N_1
,Std_1
,internal_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。即使单元格不是“空”,它仍然会被视为空白,因为值为“”。