Compartir a través de


Variable requerida. No se puede asignar a esta expresión

Este error suele producirse cuando se intenta asignar un valor a un elemento que no puede aceptar esta asignación. Las causas y soluciones de este error son las siguientes:

  • Se intentó usar una expresión numérica como argumento para la función Len.

    Aunque la función Len no acepta expresiones numéricas, literales numéricos ni expresiones numéricas binarias, sí admite variables numéricas o de cadena, expresiones de cadena y variables de tipos definidos por el usuario.

  • Se usó una expresión o llamada de función como argumento para Input #, Let, Get o Put. Por ejemplo, posiblemente usó un argumento que parece ser una referencia válida para una variable de matriz, aunque es en realidad una llamada a una función con el mismo nombre.

    Input #, Let, Get y Put no aceptan llamadas de función como argumento.

  • Intentó asignar un valor a un identificador que se ha declarado previamente como una constante.

    Elija otro nombre para el identificador.

  • Intentó usar un elemento no variable como contador de bucle en una construcción de tipo For...Next. Use una variable como contador.

  • Intentó asignar un valor a una propiedad de solo lectura o a una expresión que contiene varias variables (como X + Y). La asignación sitúa un valor en una ubicación de memoria. La expresión especificada puede representar una ubicación única de escritura.

    Reescriba la asignación para un único nombre de variable que pueda aceptar los datos.

  • Intentó usar una variable no declarada que se define como una constante en una biblioteca de tipos.

    Use un nombre diferente para la variable, o bien declárela de forma explícita.

Para más información, seleccione el elemento en cuestión y presione F1 (en Windows) o AYUDA (en Macintosh).

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.