¿cómo solucionar el error 13 de vba?
Se produce una discrepancia de tipos (error 13) cuando intenta especificar un valor para una variable que no coincide con su tipo de datos. En VBA, cuando declara una variable, necesita establecer su tipo de datos, y cuando especifica un valor distinto de ese tipo de datos, obtiene el tipo de error de falta de coincidencia 13.
En este tutorial veremos cuáles son las posibles situaciones en las que puede ocurrir el error de tiempo de ejecución 13 al ejecutar un código.
Error de discrepancia en el tipo de fecha
En VBA existe un tipo de datos específico para manejar fechas y a veces esto sucede cuando usas una variable para almacenar una fecha y el valor que especificas es diferente.
En el siguiente código declaré una variable como fecha y luego especifiqué el valor de la celda A1 donde se supone que debo tener solo una fecha. Pero como puedes ver, la fecha que tengo en la celda 1 no está en el formato correcto, VBA no puede identificarla como fecha.
Sub myMacro() Dim iVal As Date iVal = Range("A1").Value End Sub
Error de coincidencia de tipo con el número
Obtendrá el mismo error cuando trabaje con números donde obtendrá un valor diferente cuando intente especificar un número para una variable.
En el siguiente ejemplo, tiene un error en la celda A1 que se supone que es un valor numérico. Entonces, cuando ejecuta el código, VBA le muestra el error de tiempo de ejecución 13 porque no puede identificar el valor como un número.
Sub myMacro() Dim iNum As Long iNum = Range("A6").Value End Sub
Error de tiempo de ejecución 6 Desbordamiento
En VBA, existen varios tipos de datos para tratar con números y cada uno de estos tipos de datos tiene un rango de números que puede asignarle. Pero surge un problema cuando especifica un número que está fuera del rango del tipo de datos.
En este caso, le mostraremos el desbordamiento del error de ejecución 6, que indica que necesita cambiar el tipo de datos y el número que especificó está fuera de rango.
Otras situaciones donde esto puede suceder
Puede haber otras situaciones en las que podría enfrentarse al error de tiempo de ejecución 14: Tipo no coincidente.
- Cuando asigna un rango a una tabla pero ese rango consta de una sola celda.
- Cuando defines una variable como un objeto, pero al escribir el código estás especificando un objeto diferente a esa variable.
- Cuando especifica una variable como una hoja de trabajo pero usa la colección de hojas en el código o viceversa.
Cómo solucionar la falta de coincidencia de tipos (Error 13)
La mejor manera de lidiar con este error es acceder a la instrucción para ejecutar una línea de código específica o mostrar un cuadro de mensaje al usuario cuando ocurre el error. Pero también puedes comprobar el terreno paso a paso antes de ejecutarlo. Para esto, necesita usar la herramienta de depuración de VBA, o también puede usar la tecla de acceso directo F8.