AndAlso/OrElse in VBA

vb.net, vba

Solution

The only short circuiting (of a sort) is within `Case` expression evaluation, so the following ungainly statement does what I think you're asking;

Select Case True
    Case (myObject Is Nothing), Not myObject.test()
        MsgBox "no instance or test == false"
    Case Else
        MsgBox "got instance & test == true"
    End Select
End Sub

Problem

I'm trying to get a lazy evaluation with 'And' in my Excel macro by doing the following: ``` If Not myObject Is Nothing *And* myObject.test() Then 'do something' Else 'do something else' End If ``` I know lazy evaluation exists in VB.NET as `AndAlso` and `OrElse` but cannot find anything similar in VBA. If lazy evaluation does not exist in VBA, what's the best way to structure the code so that it will evaluate the way I expect?

Original source

Related problems