Toggle Boolean Values Using Not

Toggle Boolean Values Using Not

To toggle a variable between True and False, use the Not operator insteadof an If statement. Use the Not operator on those variables you have explicitlyset with the True or False keyword. Option 1 runs slower than Option 2.Option 1:

 If bPerform Then bPerform = False Else bPerform = True End If 

Option 2:

 bPerform = Not bPerform 

Be careful when using the Not operator on integers that are a number other than True or False (-1 and 0 respectively):

 Sub cmdBool_Click () Dim iBool As Integer Dim iTemp As Integer iBool = True Print iBool ' Prints -1 Print Not iBool ' Prints 0 iTemp = 5 Print iTemp ' Prints 5 Print Not iTemp ' Prints -6 If iTemp Then Print "iTemp is True" ' Prints Here Else Print "iTemp is False" End If End Sub 

The Not operator does bitwise manipulation, so manipulatingthe 5 actually makes it a negative 6.


Share the Post: