VBAで、True + 1　が　0　と計算されるのはなぜ？


ExcelのVBAで以下のコードを実行すると0と表示されます。  
Trueが1に変換され、2と表示されることを想定していました。  
なぜこのようなことが起きるのでしょうか。

[code]

    Sub test()
        MsgBox (True + 1)  
    End Sub
    
[/code]




VBAにおける`True`は数値に変換すると`1`ではなく`-1`となります。そのため`True + 1`は`0`になります。  
なお、`False`は`0`です。




VBAにおける`True`は数値に変換すると`1`ではなく`-1`となります。そのため`True + 1`は`0`になります。  
なお、`False`は`0`です。

