Saltar al contenido

Macro con Buscav en rango dinamico


Recommended Posts

publicado

Buenos días a todos, de un recién llegado al foro y a la programación en VBA.

Ando liado con una macro que me esta dando problemas, no en la ejecución sino en la velocidad.

Se va volviendo progresivamente mas y mas lenta en su ejecución.

La macro consiste en reunir en una sola tabla datos desde varias. Pero varían su numero de filas.

Todo va bien hasta que empieza Buscarv.

Este es el código que estoy utilizando para ello.

'para la busqueda 
Range("Q2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC16, OFFSET(Hoja2!R2C20,0,0,COUNTA(Hoja2!C20),2),2,False)"[/CODE]

 

'para el autofill

lastrow = Range("P2").End(xldown).Row range("Q2"). Autofill Destination:=Range(Range("Q2"), range("Q" & lastrow))[/code]

Lo tengo que repetir hasta 27 veces en varias tablas con el mismo número de filas, podría reducirlo si averiguara como extraer de cada busqueda varias columnas en vez de una sola. ¿Se os ocurre algo?

Otra cosa que se me ocurre es declarar "Counta"como variable,

Dim nfilas as integer
nfilas= COUNTA(Hoja2!C20)[/CODE]

¿Serviría para acelerarlo?

Cualquier sugerencia es bienvenida.

Gracias y un saludo.

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.