Insertar filas en una tabla Excel en función de los valores de una columna

¿Te gustaría poder insertar automáticamente por debajo de cada registro de una tabla Excel el número de filas que determines en una columna? Pues es posible, y es lo que vengo a enseñaros hoy.

Imagina, por ejemplo, que has creado una tabla de géneros cinematográficos como la siguiente,

saber-usuarios-conectados-base-datos

Y, posteriormente, se te ocurre incluir en ella los libros tu biblioteca por género de la siguiente manera,

saber-usuarios-conectados-base-datos

Evidentemente, para un ejemplo a pequeña escala, no es molesto insertar las filas de manera manual. Pero, ¿y si hablamos de cientos de registros? ¿o incluso miles? La cosa cambia.

Para insertar las filas necesarias para cada categoría de manera automática, simplemente hay que añadir una nueva columna con el valor correspondiente.

saber-usuarios-conectados-base-datos

Y el botón Insertar con el código que muestro a continuación,

Sub Insertar()

'Recorremos las filas de la tabla leyendo la columna D

For i = 7 To 30

'Si el valor del campo es 0, saltamos al siguiente registro

If Cells(i, "D") = 0 Then

GoTo fin

Else

'En caso contrario, insertamos el número de filas correspondiente al valor de la celda

numero = Cells(i, "D")

Range(Cells(i + 1, "D"), Cells(i + numero, "D")).EntireRow.Insert

End If

fin:

Next

End Sub

De esta manera, el resultado al pulsar dicho botón es el siguiente,

saber-usuarios-conectados-base-datos

Y con esto, simplemente tendrás que rellenar las nuevas filas creadas.

saber-usuarios-conectados-base-datos

Espero que te haya quedado claro este ejemplo para insertar automáticamente el número de filas establecido en la columna de cada registro.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Hasta la próxima.

Descarga el archivo del ejemplo

Últimas publicaciones

Categorías