我正在尝试创建一个有3个输入的函数,其中两个是可选的: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
答案 0 :(得分:6)
我相信您所寻找的是IsMissing
而不是IsEmpty
。试试这个:
If IsMissing(colOffsetB) = True Then
colOffsetB = colOffsetA
End If
这是关于可选参数的great article。
答案 1 :(得分:1)
使用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
不是必需的
希望你有帮助