Domanda

Ho un test in Excel VBA:

If (test1) And (test2) And (test3) Then
    'do something
End If

In C, Java, ecc. test1 verrebbe eseguito prima, quindi test2, quindi test3. Criticamente, se test1 è falso l'intero test è falso, quindi i test rimanenti non vengono eseguiti.

Succede in questo caso con VBA? In tal caso, in quale ordine vengono eseguiti i test?

È stato utile?

Soluzione

In tutti i VB precedenti a .NET non esiste un corto circuito. Tutte le espressioni saranno valutate anche se non richieste. Se vuoi un cortocircuito, esegui IF annidate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top