![]() |
Overflow
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 |
Overflow
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 |
Overflow
Thanks you very much.
The problem is solved. Best regards Erik "Andrew Taylor" wrote in message oups.com... 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 |
All times are GMT +1. The time now is 04:41 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com