如何为可选的Range参数设置默认值?

扎巴巴

我正在尝试编写一个将Range作为可选参数的函数。这是此类功能的最小示例:

Function Example(s As String, Optional r As Range) As String
    Example = "Test"
End Function

可以,并且可以编译VBA模块。但我正在努力寻找如何为此可选范围参数设置默认值的示例,例如“ B:B”。

Function Example(s As String, Optional r As Range **= Range("B:B")**) As String
    Example = "Test"
End Function

这不会编译。它将引发错误“需要常量表达式”。

扎巴巴

谢谢,斯科特向我展示了方法。我进一步搜索了这个,正确的方法似乎是这样的:

Function Example(s As String, Optional r As Range = Nothing) As String
    If IsMissing(r) Then
        r = Range("B:B")
    End If
    Example = "Test"
End Function

我无法理解为什么可以为pret定义默认值

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章