В вашем примере кода объект всегда получает Nothing
, потому что это последнее действие.Вот как это должно быть:
Function getObject(str)
If ... Then
Set getObject = object_goes_here
Exit Function
End If
Set getObject = Nothing
End Function
или:
Function getObject(str)
Set getObject = Nothing
If ... Then
Set getObject = object_goes_here
End If
End Function
Ответ GSerg правильный: вы не должны использовать Nothing.Кроме того, чтобы узнать, имеет ли объект нулевую ссылку, используйте:
If Not object Is Nothing Then
' do something
End If