Macro para agregar filas en un rango de celdas que pertenece a una Tabla

Tengo una macro que consolida información desde varios archivos, pero quiero que al final de la tabla de datos consolidada se hagan una serie de cálculos, para ésto cree una tabla con fórmulas al final de la matriz de datos consolidados y cuando termino de consolidar le agrego filas a la tabla tantas veces como filas de la matriz consolidada haya. Pero esto hace que la macro sea lenta.

Si hay una mejor manera de hacerlo se los agradecería, por ejemplo no se si se puede guardar en una variable el numero de filas que hay desde A5 hasta abajo y luego hacer una sola vez insertar ese número filas en el rango de la tabla de cálculos. (Ahora las inserta una por una hasta nùmero de filas).

Puede que tambien sea conveniente no usar tabla sino copiar y pegar fórmulas, hasta ahora no se cual mejora el desempeño de la macro

La tabla donde hago los calculos está en el rango CB4:CD7

Respuesta
1

Solo te respondo al tema puntual ya que es difícil imaginar cómo está diseñada la hoja.

'... Si se puede guardar en una variable el numero de filas que hay desde A5 hasta abajo... e insertar ese número de filas en otro rango.

Sub ejemplo()
'calcula la cantidad de filas ocupadas a partir de A5
fini = [A5].End(xlDown).Row
cantidad = fini - 4
'inserta esa cantidad de filas por encima de fila 20
Rows("20:" & 20 + cantidad).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'opcional:
[A5].Select
End Sub

Debes ajustar la referencia desde donde se insertarán.

Sdos y no olvides valorar la respuesta.

Elsa

PD) En la sección Macros de mi sitio encontrarás más instrucciones para encontrar los límites o fin de rangos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas