在VBA中,是否有任何函数以类似于SQL中的isnull
的方式工作?
E.G。
A1
是空白单元格,
B1 = Apple
,
C1 = Orange
。
例如:
i)D1 = isnull (A1,B1)
目标结果:D1 = Apple
ⅱ)D1= isnull (B1,C1)
目标结果:D1 = Apple
答案 0 :(得分:3)
在VBA中,您可以使用IsEmpty()
功能:
Range("D1").Value = IIf(IsEmpty(Range("A1")), Range("B1").Value, Range("A1").Value)
所以你可以建立像
这样的UDFFunction MyIsNull(rng1 As Range, rng2 As Range) As Variant
MyIsNull = IIf(IsEmpty(rng1), rng2.Value, rng1.Value)
End Function
并在您的单元格中调用它:
i)=MyIsNull(A1,B1)
ii)=MyIsNull(B1,C1)
注意:我使用“MyIsNull”作为UDF名称,因为IsNull
是已存在的VBA函数的名称,如果您在“IsNull”之后命名UDF,那么它将隐藏它
如果您想使用excel内置函数,可以使用ISBLANK()
并输入您的单元格:
i)=IF(ISBLANK(A1),B1,A1)
ii)=IF(ISBLANK(B1),C1,B1)