
Macro añadir fila en blanco si falta un elemento de una secuencia dada
Publicado por Fer (2 intervenciones) el 13/10/2021 17:13:30
Buenos días, ¿alguno de ustedes se le ocurre como hacer un macro que lea el Excel e inserte filas en blanco con una condición? Concretando más el problema:

Se trataría de un macro que leyera la columna A y en caso de que el orden (executive,independent y non-executive) no se diera para una empresa (son los nombres en negrita de la columna A) por faltar uno de los tres elementos insertara una fila en blanco donde correspondiera y rellenara la columna A de esta nueva fila recién insertada con executive independent o non-executive. De ser posible lo ideal sería que el resto de las columnas de la misma fila recién incorporada las rellenara con un no-info, esto último no sería necesario pues no me cuesta hacerlo ya a mano filtrando las celdas en blanco una vez la macro hubiera insertado la fila correspondiente.
Al tener que repetirse periódicamente esta serie "1. Nombre de la empresa (la que sea en cada caso) 2. executive 3. independent 4. non-exexutive" si la fila 3 es executive, súmandole 4 (filas 7,11,15..) también deberían tener en la columna A executive.
Lo que se me ocurre (no sé si acertadamente) es que el macro debería leer el Excel y una vez encuentra un executive, leer las siguientes 4 filas y si no vuelve a aparecer lo que corresponde insertar la fila encima de independent o non-executive (lo primero que encuentre) o de no haberlo, debajo de todo lo que no sea esto (sería el nombre de cada empresa). Una vez encuentra un independent, leer las siguientes 4 filas y si no vuelve a aparecer lo que corresponde insertar la fila debajo de la fila executive o de no encontrarlo encima de la fila non-executive (lo primero que encuentre). Una vez encuentra un non-executive, leer las siguientes 4 filas y si no vuelve a aparecer lo que corresponde insertar la fila debajo de executive o independent (lo primero que encuentre) o encima de todo lo que no sea esto (sería el nombre de cada empresa).
Si a alguien se le ocurre como programar algo así se lo agradecería mucho. Cualquier duda háganmelo saber.

Se trataría de un macro que leyera la columna A y en caso de que el orden (executive,independent y non-executive) no se diera para una empresa (son los nombres en negrita de la columna A) por faltar uno de los tres elementos insertara una fila en blanco donde correspondiera y rellenara la columna A de esta nueva fila recién insertada con executive independent o non-executive. De ser posible lo ideal sería que el resto de las columnas de la misma fila recién incorporada las rellenara con un no-info, esto último no sería necesario pues no me cuesta hacerlo ya a mano filtrando las celdas en blanco una vez la macro hubiera insertado la fila correspondiente.
Al tener que repetirse periódicamente esta serie "1. Nombre de la empresa (la que sea en cada caso) 2. executive 3. independent 4. non-exexutive" si la fila 3 es executive, súmandole 4 (filas 7,11,15..) también deberían tener en la columna A executive.
Lo que se me ocurre (no sé si acertadamente) es que el macro debería leer el Excel y una vez encuentra un executive, leer las siguientes 4 filas y si no vuelve a aparecer lo que corresponde insertar la fila encima de independent o non-executive (lo primero que encuentre) o de no haberlo, debajo de todo lo que no sea esto (sería el nombre de cada empresa). Una vez encuentra un independent, leer las siguientes 4 filas y si no vuelve a aparecer lo que corresponde insertar la fila debajo de la fila executive o de no encontrarlo encima de la fila non-executive (lo primero que encuentre). Una vez encuentra un non-executive, leer las siguientes 4 filas y si no vuelve a aparecer lo que corresponde insertar la fila debajo de executive o independent (lo primero que encuentre) o encima de todo lo que no sea esto (sería el nombre de cada empresa).
Si a alguien se le ocurre como programar algo así se lo agradecería mucho. Cualquier duda háganmelo saber.
Valora esta pregunta


0