INSERTAR FILAS INTERCALADAS EN BLANCO EN EXCEL

Cuando empezamos a trabajar con Excel, una de las situaciones más comunes con la que nos encontramos es la de insertar filas en blanco en nuestros archivos. Esto no es un problema cuando contamos con poca cantidad de datos, pero la realidad suele complicar las cosas y nos podemos encontrar con que esos datos pueden ser miles de filas, y sería realmente lento (además de aburrido) el tener que insertar 1 o varias filas en blanco por cada fila con datos (por ejemplo) en un archivo de 4.000 filas.

Ante esta problemática, ¿cómo resolvemos el problema?. Vamos a poner un ejemplo que nos ayude a dar mayor claridad al post. Imaginad que tenéis una base de datos en la que tenéis los datos de facturación por horas y días de una empresa, algo así:

INSERTAR FILAS INTERCALADAS EN BLANCO EN EXCEL

Con estos información, ahora tenemos que intercalar una fila en blanco por cada una de las filas con datos. Para realizar el trabajo de forma automática vamos a utilizar la siguiente macro:

Sub Insertar_filas()
'Definimos variables
Dim tTop, rFila, i, j As Double
'Buscamos el número de columna en el que estamos
nColum = ActiveCell.Column
'Buscamos la letra de la columna en la que estamos
lColum = Split(ActiveCell.Address, "$")(1)
'Determinamos el rango para definir la longitud del bucle for-next
Rango = lColum & ":" & lColum
'Indicamos el número de línea sobre el que comenzamos a añadir filas en blanco
tTop = 3
'Indicamos el número de filas en blanco a incluir
rFila = 1
fin = Application.CountA(ActiveSheet.Range(Rango))
For j = 2 To fin
'Si la primera celda (en este caso la 3) contiene un valor, entonces comenzamos a insertar filas
'intercaladas
If Not IsEmpty(Cells(tTop, nColum)) Then
For i = 1 To rFila
Cells(tTop, nColum).EntireRow.Insert
Next i
tTop = tTop + rFila + 1
End If
Next j
End Sub

Esta macro está diseñada para que las filas en blanco se agreguen en la en la columna sobre la que se encuentra la celda activa. Es decir, si ponemos el cursor sobre la celda A1 y se ejecutará, si lo hacemos en una columna sin datos no agregará filas.

Es interesante fijarse en algunas líneas de código, por ejemplo, para determinar la letra de la columna en la que estamos, debemos usar:

lColum = Split(ActiveCell.Address, "$")(1)

O para determinar el número de columna en el que estamos, debemos usar:

nColum = ActiveCell.Column

Una vez aplicada la macro, la información quedaría así:

INSERTAR FILAS INTERCALADAS EN BLANCO EN EXCEL2

Como podéis observar, ya tenemos una fila intercalada entre cada línea de datos. Si quisiésemos más líneas, por ejemplo 4 o 20, tan solo debemos indicar el número de columnas en rFila = (numero de lineas a insertar)

Para acabar, en el ejemplo que os dejo, he utilizado, al igual que en la entrada anterior, otra macro para activar esta macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.OnKey "{ESCAPE}", "Insertar_filas"
End Sub

La macro se activa pulsando la tecla “Escape”. Pero podéis ejecutarla perfectamente vinculándola a un botón o ejecutándola directamente sobre el código.

Espero que este post os sea de utilidad, por experiencia, creo que es uno de los códigos más demandados y usados por los usuarios de Excel.

Descarga el archivo de ejemplo pulsando en: INSERTAR FILAS INTERCALADAS EN BLANCO EN EXCEL

 

Anuncios

3 pensamientos en “INSERTAR FILAS INTERCALADAS EN BLANCO EN EXCEL

    • Hola Cielito:

      Es muy sencillo, solo has de modificar esta parte de la macro:

      Cells(tTop, nColum).EntireRow.Insert

      Por esta otra:

      Cells(tTop, nColum).Insert Shift:=xlDown

      Espero que te sirva.

      Saludos.!

      Me gusta

  1. Pingback: INSERTAR CELDAS INTERCALADAS EN BLANCO EN EXCEL | EXCEL SIGNUM

¿Te ha gustado?. Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s