如何检查Variant是否为空,并在Excel VBA中为其分配其他variables
我试图做一个有3个input的函数,其中两个是可选的: colOffsetA
& colOffsetB
。 如果在函数中只使用两个可选参数之一,那么我希望这个值也自动分配给空的参数。 现在代码由于某种原因为colOffsetB
分配值0。
Function TestCode(cellA As Range, Optional colOffsetA As Variant, Optional colOffsetB As Variant) As String If IsEmpty(colOffsetB) Then colOffsetB = colOffsetA End If
我相信你所寻找的是IsMissing
而不是IsEmpty
。 尝试这个:
If IsMissing(colOffsetB) = True Then colOffsetB = colOffsetA End If
这是关于可选参数的一篇很棒的文章 。
使用vbNUllString比IsEmpty快一点,x =“”,….
Function TestCode(cellA As Range, Optional colOffsetA As Variant, Optional colOffsetB As Variant) As String If colOffsetB=vbNullString Then colOffsetB = colOffsetA do end function
如果你的条件是基本放在一些行上, end if
没有必要end if
。
希望你有帮助