Compartir a través de


El argumento de la matriz debe ser ByRef

Las matrices declaradas con Dim, ReDim o Static no se pueden transferir mediante ByVal. Este error tiene la siguiente causa y solución:

  • Se intentó transferir una matriz completa mediante ByVal. Un elemento individual de una matriz se puede transferir mediante ByVal (por valor), pero una matriz completa debe transferirse mediante ByRef (por referencia). Tenga en cuenta que ByRef es el valor predeterminado. Si debe pasar una matriz ByVal para evitar que los cambios en los elementos de la matriz se propaguen al autor de la llamada, puede pasar la matriz (argumento) en su propio conjunto de paréntesis, o bien puede colocarla en un valor Variant y , a continuación , pasar variant al parámetro ByVal , como se indica a continuación:
Dim MyVar As Variant 
MyVar = OldArray() 

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.