This has to do with the type of the operands. VBA will imply the datatype of numerics into an Integer, Long, or Double if no datatype is specified. When you perform operations upon the operands, VBA will assume the result to be of a datatype that matches the "heaviest" datatype.
So ...
...