Se ha producido el error 13 en tiempo de ejecución, no coinciden los tipos

El problema es el sigueinto tengo un userform de un libro y funcionaba bien lo exporte para ponerlo en otro y me tira este error como se corrige alguien me puede ayudar

3 Respuestas

Respuesta
3

Para los usuarios que, guiados por el titulo, intentan obtener solución con este error. Como la consulta se encuentra ya valorada pero NO RESUELTA, les dejo aquí mi aporte.

Como bien dijo Vera, se trata de una discrepancia en los datos, como en estos casos:

Caso 1 - Se declaran variables de un tipo pero luego se envían datos de otro tipo. Por ejemplo, enviar un texto a una variable de tipo Integer, Double o Date.

SOLUCIÓN 1: evaluar previamente el contenido del control TextBox.

Private Sub TextBox1_Change()
    If IsNumeric(TextBox1) Then
        valorA = CDbl(TextBox1)       'por si tienen decimales sino solo Val
    Elsed
        valorA = 0
    End If
End Sub

Caso 2 -  Cuando se usan funciones de Conversión, pero el control se encuentra vacío.

SOLUCIÓN 2: evaluar si el control quedó vacío antes de aplicarle la función de conversión a valores decimales o fechas.

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox2) And TextBox2 <> "" Then
    [B4] = CDate(TextBox2)      'pasarlo a la hoja como fecha 
    valorA = CDate(TextBox2)        'guardarlo en 1 variable
End If
End Sub

Más casos en estos videos:

Video N° 73 : Los TEXTBOX, cómo utilizarlos con valores numéricos

Video N° 38 : TextBox ¿textos o valores numéricos? Funciones de conversión

Respuesta
2

Ese error es porque estás intentado poner un dato en un variable que no es del mismo tipo.

Por ejemplo, quieres poner un texto en una variable que es de tipo numérica. Te presenta mensaje de error "No coinciden los tipos"

¿Cómo se corrige?

Pues antes de poner el dato en la variable verifica que sea del mismo tipo.

---

Sin el código y sin ejemplos, es difícil adivinar cómo solucionarlo, espero que con lo comentado encuentres la solución.

---

Revisa lo siguiente:

Respuesta

El error 13 en tiempo de ejecución generalmente ocurre cuando hay una discrepancia en los tipos de datos. Puede haber varias razones para esto, como asignar un valor incorrecto a una variable, comparar tipos de datos incompatibles o llamar a una función con argumentos incorrectos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas