如何检查Variant是否为空并在Excel VBA中为其指定其他变量

我正在尝试创建一个具有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
最佳答案
我相信你所寻找的是IsMissing而不是IsEmpty.试试这个:

If IsMissing(colOffsetB) = True Then
    colOffsetB = colOffsetA
End If

这是关于可选参数的great article.

转载注明原文:如何检查Variant是否为空并在Excel VBA中为其指定其他变量 - 代码日志