How do I test if optional arguments are supplied or not?
How do I test if optional arguments are supplied or not? -- in VB6 / VBA
Function func (Optional ByRef arg As Variant = Nothing)
If arg Is Nothing Then <----- run-time error 424 "object required"
MsgBox "NOT SENT"
End If
End Function
Use IsMissing
:
If IsMissing(arg) Then
MsgBox "Parameter arg not passed"
End If
However, if I remember correctly, this doesn’t work when giving a default for the argument, and in any case it makes using the default argument rather redundant.
You can use the IsMissing() Function. But this one only works with the Variant datatype.
Sub func(Optional s As Variant)
If IsMissing(s) Then
' ...
End If
End Sub