Overflow error occurs when multiplying integer constants in excel
You need to use the #
i1 = 2# * 32767# ' This results in an OVERFLOW (the answer is = 32768)
Excel is using integer type for 2 and 32767 and the multiplication of these
two numbers is an overflow. The assignment to I1 occurs later.
"Abe Thomas" wrote:
An overflow error occurs when 2 integer constants (< 32768) are multiplied
that results in a value that is higher than what an integer can hold - see
code below.
This happens all the excel versions I tested.
Anyone out that aware of this problem ?
Sub Mult_Of_2_IntegerConstants_that_result_in_a_LongIn t()
Dim i1 As Long
i1 = 1 * 32767 ' This works since the result is less than 32768
i1 = 2 * 32767 ' This results in an OVERFLOW (the answer is = 32768)
i1 = 2 * 32768 ' This works since one of the operands is = 32768
End Sub
|