Re: Overflow
- From: "Andrew Taylor" <andrew.taylor@xxxxxxxxxx>
- Date: 13 Dec 2005 01:58:33 -0800
The problem is that VBA tries to calculate
162 * 207 as an Integer, and then convert
to the result to a Long. The first of these
steps causes the overflow. You can get
round this by forcing one of the values
to be a Long:
ll_test = 162& * 207
or
ll_test = CLng(162) * 207
Note that ll_test = clng(162 * 207) will fail,
for the same reason as in the original problem.
Andrew Taylor
Erik Beck Jensen wrote:
> Excel 2003 SP2
>
> Hello every body
>
>
> This little sub gives me a runtime overflow. Did I miss something?
>
>
>
>
> Sub ebj()
>
> Dim ll_test As Long
>
> ll_test = 162 * 207
>
>
> End Sub
>
>
>
> I would have expected ll_test to take a value = 33,534. A Long should be
> sufficient to hold that. If I change the declaration to Single or Variant I
> still get an overflow.
>
>
>
> Any suggestions?
>
>
>
>
>
> Best regards
>
> Erik
.
- Follow-Ups:
- Re: Overflow
- From: Erik Beck Jensen
- Re: Overflow
- References:
- Overflow
- From: Erik Beck Jensen
- Overflow
- Prev by Date: How to disable CTRL key
- Next by Date: Re: Overflow
- Previous by thread: Overflow
- Next by thread: Re: Overflow
- Index(es):
Relevant Pages
|