Es también llamado error 6 en tiempo de ejecución. Se produce cuando tratas de almacenar un valor que excede los límites que permite un determinado tipo de datos.
Causa del desbordamiento en VBA:
El resultado de una asignación, cálculo o conversión de tipo de dato es demasiado grande como para que se pueda representar dentro del rango de valores permitidos para ese tipo de variable.
Solución:
Para solucionar el problema del desbordamiento asigne el valor a una variable de un tipo que pueda contener un rango de valores superiores.
Tipos de datos:
Ejemplo de Desbordamiento en VBA
Por ejemplo: En este caso se observa el tipo de dato Integer. El “Desbordamiento” se presentará, por usar la variable o número 40000, esto sucede particularmente cuando no tengas claro el dominio de datos o bien se elabora cálculos y no se percato que se excedió el límite, es decir cuando sobrepasas el rango o límite de dato Integer que es de -32768 a 32767. Como se muestra en el siguiente cuadro en el que nos indica que se ha producido el error “6” en tiempo de ejecución.
Para solucionar el error se deberá dar click en la opción Depurar, luego nos mostrara la ubicación del error, resaltado en amarillo. Como ya se explicó arriba el numero 40000 excedió el rango permitido en el tipo de dato Integer, por lo cual se produce el desbordamiento.
Primera solución: Se deberá utilizar números que se encuentren dentro del rango del tipo de dato que se use (Integer). Para que nos de el resultado en cuadro de texto. Como se muestra en la macro Sub Correcion1Desbordamiento ().
Segunda solución: Cambiar el tipo de dato, por uno que permita valores de mayor rango como es el tipo de dato Long, Single o Doublé. Como se observa, en este caso de cambio el tipo de dato Integer por el tipo de dato Long solucionará el desbordamiento.
(Para mayor visualización de la imagen, hacer click en la misma)
Descargar ejemplo de desbordamiento en VBA: Error Desbordamiento en VBA
Por: Karina Curo
03/07/2021 a las 5:59 pm
Gracias me sirvió el blog, no sabía esto acerca de las variables