Estoy trabajando en VBA en MS Excel 2003 y me he encontrado con lo siguiente, que es bastante extraño:
He declarado una variable como Long y he tratado de asignarle a esta el resultado de una multiplicacion, pero al hacerlo se me presenta un desbordamiento, sin embargo el resultado está completamente dentro de los límites permitidos para una variable Long (-2.147.483.648 a 2.147.483.647). Lo que es aún más extraño es que si asigno el número directamente a la variable no se presenta el desbordamiento.
He aquí el código que me está presentando problemas:
Dim aux as Long
aux = (20 * 2048) + 1 'Se presenta desbordamiento
'Si asigno el resultado de la operación (40.961) directamente, todo va bien
aux = 40961 'No se desborda
Si alguien sabe qué puede estar sucediendo le agradecería enormemente.