Error de sobreflujo de VBA

Error de exceso de flujo de Excel VBA

Los errores son parte integrante de cualquier lenguaje de codificación, pero descubrir por qué se produce ese error es lo que te diferencia de la multitud en las entrevistas. Los errores no son extraños para la codificación VBA, los errores no son intencionales, por lo que encontrar la causa del error hace que sea una tarea difícil. En VBA tenemos algunos de los errores predefinidos y conocerlos te permite corregir el error muy rápidamente. En este artículo, le mostraremos sobre el ERROR DE TIEMPO DE EJECUCIÓN 6: OverFlow. Siga el artículo completo para conocer el error, los motivos del error de desbordamiento de VBA y cómo solucionarlos.

¿Qué es Run Time Error 6: Overflow Error in VBA?

Cuando declaramos la variable les asignamos un tipo de datos. Debemos ser completamente conscientes de los pros y los contras de cada tipo de datos. Aquí es donde Run Time Error 6: OverFlow entra en escena. Cuando sobrecargamos el tipo de datos con el valor que es mayor que la capacidad del tipo de datos, obtendremos este error.

Por ejemplo: si declara la variable como Byte.

Número atenuado como byte

El tipo de datos de bytes puede contener valores de 0 a 255. Ahora asignaré el valor como 240.

Número = 240

Esto debería funcionar bien porque el valor que hemos asignado es menor que el límite del valor de Byte de 255. En el momento en que asignamos el valor que es más de 255, conduce al error Run Time Error 6: OverFlow.

Esta es la descripción general del error de tiempo de ejecución 6: OverFlow. Veremos algunos de los ejemplos en detalle.

Ejemplos de error de tiempo de ejecución 6: OverFlow en VBA

Veamos algunos ejemplos de VBA OverFlow Error en Excel.

Ejemplo 1: Error de exceso de flujo con tipo de datos de byte

Como dije, es importante conocer los pros y los contras del tipo de datos VBA que vamos a utilizar. Para ver un ejemplo, mire el siguiente código.

Código:

 Sub OverFlowError_Example1 () Dim Number As Byte Number = 256 MsgBox Number End Sub 

Para la variable “Número” le he asignado el valor 256. Cuando ejecuto este código, obtendremos el siguiente error.

Esto se debe a que el tipo de datos Byte puede contener valores de 0 a 255. Por tanto, provoca un error. Para corregir el error tenemos que cambiar el tipo de datos o tenemos que reducir el valor que le hemos asignado a la variable “Número”.

Ejemplo 2: Error de sobreflujo de VBA con tipo de datos entero

El entero de VBA es un tipo de datos que puede contener valores de -32768 a 32767. Para ver un ejemplo, consulte el siguiente código.

Código:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub 

Cuando ejecuto este código, obtendremos el valor de la variable "MyValue" en el cuadro de mensaje, es decir, 25656.

Ahora reasignaré el número a la variable como "45654".

Código:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub 

Ahora, si intento ejecutar el código, provocará un error porque el tipo de datos que hemos declarado solo puede contener el máximo de 32767 para números positivos y para números negativos, el límite es -32768.

Ejemplo 3: Error de sobreflujo de VBA con tipo de datos largo

El tipo de datos largo es el tipo de datos más utilizado en Excel VBA. Esto puede contener valores de –2,147,483,648 a 2,147,486,647. Cualquier cosa por encima de eso provocará un error.

Código:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub 

Esto provocará un error de desbordamiento.

Para solucionar este problema, necesitamos usar la función CLNG en VBA. A continuación se muestra un ejemplo del mismo.

Código:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub 

Esto debería funcionar bien.

Esta es la descripción general del error de tiempo de ejecución 6: OverFlow . Para resolver este error, debemos conocer completamente los tipos de datos. Así que regrese a lo básico, haga lo básico correctamente, entonces todo se pondrá en su lugar.

Puede descargar esta plantilla de Excel de error de desbordamiento de VBA aquí - Plantilla de Excel de error de desbordamiento de VBA