Excel: Una macro para insertar filas en listas muy largas

Un truco ideal para los que manejan una lista de datos muy larga y necesitan insertar una fila en blanco entre registro y registro.
SAB, 7 / SEP / 2013

Supongamos que el primer registro está en la fila [2] de la hoja (con títulos en la primera fila) y que la primera fila en blanco se debe insertar entre los dos primeros registros. O sea, por encima de la fila [3]. En ese caso, la macro podría ser algo así:

Sub insertar()
f = 3
Do While Not IsEmpty(Cells(f, “A”))
    Cells(f, “A”).EntireRow.Insert
    f = f + 2
Loop
End Sub

Esta macro recorre la lista de la izquierda, mientras encuentre celdas ocupadas, e inserta una fila en blanco entre nombre y nombre.

Esta macro recorre la lista de la izquierda, mientras encuentre celdas ocupadas, e inserta una fila en blanco entre nombre y nombre.

Lo difícil en este problema es controlar exactamente la posición de las filas por insertar. La macro tiene un ciclo Do While… Loop que continúa mientras haya filas con datos. Controlamos esa condición con la función IsEmpty (“está vacía”). Tras cada inserción, la macro baja dos filas: una para superar la fila en blanco que acaba de insertar y otra para pasar a la siguiente fila de datos.

Por ejemplo, supongamos que la macro está trabajando en la fila [10]. Al insertar una fila en blanco, la macro permanece en esa fila, ahora en blanco, y el dato que estaba en la fila [10] ahora está en la [11]. A continuación, la macro debe insertar una nueva fila en blanco entre las filas [11] y [12]. Para eso debe bajar a la fila [12], dos respecto de la posición anterior.

¡Comparte esta noticia!

Últimos lanzamientos Ver más