VBA是无效的功能

时间:2018-04-26 06:29:41

标签: vba isnull

enter image description here 在VBA中,是否有任何函数以类似于SQL中的isnull的方式工作?

E.G。 A1是空白单元格, B1 = AppleC1 = Orange

例如:

i)D1 = isnull (A1,B1) 目标结果:D1 = Apple

ⅱ)D1= isnull (B1,C1) 目标结果:D1 = Apple

1 个答案:

答案 0 :(得分:3)

在VBA中,您可以使用IsEmpty()功能:

Range("D1").Value = IIf(IsEmpty(Range("A1")), Range("B1").Value, Range("A1").Value)

所以你可以建立像

这样的UDF
Function 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)