Saltar al contenido

Formula array mayor a 255 caracteres con sendkeys


Recommended Posts

publicado

hola amigos tengo la siguiente pregunta que a lo mejor ala mayoría de ustedes ya les ha pasado.

tengo una formula matricial mayor a 255 caracteres al utilizar la formula manualmente y presionar las teclas control+shift+enter funciona sin problemas, al grabar la macro y ejecutarla me da un mensaje de error 1004.

como puedo hacer para poner esta formula dentro de la macro y que esta la ejecute?

copie este ejemplo pero no me ha funcionado para probar y hacer cambios pero no me ha funcionado

Sub Macro2()
Dim celda As Range
ForEach celda In Range("B2:B12")
celda.Select
SendKeys "{F2}+{ENTER}", True
Next celda
EndSub[/CODE]

mi formula es así de larga, favor su ayuda

[CODE]=SUMA(SI((BD_RC!$C$8:$C$100000=$C$10)*(BD_RC!$E$8:$E$100000=AN$6)*(BD_RC!$BK$8:$BK$100000=$AR$7)*(BD_RC!$S$8:$S$100000=$AP$7)*(BD_RC!$AO$8:$AO$100000=$AN$9)*(BD_RC!$R$8:$R$100000=$B22);BD_RC!$CC$8:$CC$100000;))+SUMA(SI((BD_RC!$C$8:$C$100000=$C$10)*(BD_RC!$E$8:$E$100000=AN$6)*(BD_RC!$BK$8:$BK$100000=$AR$7)*(BD_RC!$S$8:$S$100000=$AP$7)*(BD_RC!$AO$8:$AO$100000=$AN$10)*(BD_RC!$R$8:$R$100000=$B22);BD_RC!$CC$8:$CC$100000;))
[/CODE]

publicado

amigo, lo primero es que tu formula de seguro se puede mejorar, pero sin archivos y sin saber que es lo que haces, pues es casi imposible.

lo otro es que puedes intentar lo siguiente

1.- asignale nombres a cada uno de los rangos, por ejemplo al rango BD_RC!$C$8:$C$100000 lo llamas Valores01; al rango BD_RC!$E$8:$E$100000 lo llamas Valores02 y así con cada uno.

2.- luego reemplas en tu formula los rangos por sus repectivos nombres, así la formula tendra muchos menos caracteres y así no tendras problemas con tu macro

suerte

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.