- Sub test1()
- Dim arr() As Integer, var
- var = arr()
- test2 var
- End Sub
- Sub test2(Optional a)
- If IsMissing(a) Then
- Debug.Print "你是否运行了我说的代码??"
- Else
- Debug.Print "无论如何Excel都会崩溃??"
- End If
- End Sub
复制代码 说明
使用 IsMissing 函数来检测在调用一个程序时是否提供了可选 Variant 参数。如果对特定参数没有传递值过去,则 IsMissing 返回 True;否则返回 False。如果 IsMissing 对某个参数返回 True,则在其它代码中使用这个丢失的参数将产生一个用户自定义的错误。如果对 ParamArray 参数使用 IsMissing,则函数总是返回 False。为了检测空的 ParamArray,可试看一下[url=]数组[/url]的上界是否小于它的下界。 注意 IsMissing 对简单数据类型(例如 Integer或Double)不起作用,因为与Variants不同,它们没有“丢失”标志位的前提。正由于此,对于可选参数类型,可以指定缺省值。如果调用过程时,参数被忽略,则该参数将具有该缺省值
|