Hola, necesito una macro para insertar un número de filas dependiendo del valor de otra celda

Tengo una hoja de cálculo como plantilla para hacer cálculos de eficiencia energética, como todo depende del número de sectores con los que vaya a trabajar, necesito insertar filas en función del número de sectores que haya establecido en otra celda, cuando haya insertado las filas solicitadas, la inmediatamente inferior a la última contiene las sumas totales del resto de valores que haya en las columnas.

1 respuesta

Respuesta
1

Para realizar lo que necesitas tengo que hacer una macro, pero tengo las siguientes dudas:

1. ¿A partir de que fila se van a insertar las filas?

2. En cuál celda va a estar el número de sectores, ¿para tomar ese número e insertar las filas?

3. ¿La fila de totales es una fila hacia abajo de las filas insertadas?

4. ¿Cuáles columnas van a tener sumas totales y de qué fila a qué fila se van a sumar?

5. Cómo quieres decirle a la macro que se ejecute, ¿con un botón o entras al editor de macros (MS-VBa) y tú ejecutas la macro?

Hola Dam:

La fila da igual, puesto que por encima de ella están las cabeceras y es dónde estará la celda que contenga el valor. Supongamos que es la celda A1 la del nombre "Nº Sectores" y la celda B1 la del valor, debe de añadir tantas filas como el valor de la celda B1 le indique, pero a partir de la celda A4.

Puede ser necesario además que inserte otro bloque de filas más abajo por ejemplo a partir de la celda A20 y con el mismo valor de la celda B1, o en más lugares de la hoja.

Las fórmulas y cálculos de las columnas ya está funcionando, lo que ocurre es que tengo que andar borrando o insertando filas según los sectores necesarios, por lo tanto hay que andar copiando las fórmulas, no es un lío, pero sí que es tedioso y quiero dejar las filas ocultas si no son necesarias y visibles cuando así me haga falta, para poder compartir esta hoja con los compañeros de trabajo.

Saludos, David

En resumen:

1. ¿A partir de que fila se van a insertar las filas? Da igual, ¿si quiero puedo insertarlas en la fila 953 ó después de la fila 4?
2. En cuál celda va a estar el número de sectores, ¿para tomar ese número e insertar las filas? ¿Va a estar en la B1 ó tengo que buscar en toda la hoja la frase "no sectores" y en la celda de la derecha de esa frase va a estar el número?

3. Quieres insertar filas, por ejemplo: después de la fila A20, cómo saber si quieres que se inserten después de la 20 ó la 10 ó la 30, ¿vas a poner el cursor en la 20 y de ahí que se inserten?

4. ¿Se van a insertar filas completas o solamente celdas hacia abajo?
5. ¿La fila de totales es una fila hacia abajo de las filas insertadas? Ya está resuelto, las fórmulas ya existen.
6. ¿Cuáles columnas van a tener sumas totales y de qué fila a qué fila se van a sumar? Ya está resuelto, las fórmulas ya existen.
7. Cómo quieres decirle a la macro que se ejecute, ¿con un botón o entras al editor de macros (MS-VBa) y tú ejecutas la macro? Falta esta respuesta.

Si pudieras contestarme en el mismo orden.

Saludos. Dam

Hola Dam:

1. Se insertan a partir de la fila 5 y con un máximo p.ej. de 12 en el primer bloque (celda B1 =12). La última fila donde irían los totales será la fila 18. De nuevo se inserta un bloque de filas igual al anterior, a partir de dejar libres 6 filas a partir de la fila 24, por lo que la nueva fila de totales estará en la A36. (Se puede repetir este proceso varias veces).

2 La celda de la cual toma el valor será la B1.

3 No sé cómo hacerlo, pero siempre va ha haber 3 filas de cabecera + 1 de elección de sectores = 4 filas, por lo que se inserta en la fila 5 ó 6 (la fila 5 tiene en sus columnas los datos y fórmulas) desde la columna B hasta la P hay datos.

4. Filas completas.

5. Sí la fila de totales es una fila hacia abajo después de la última fila insertada.

6. A partir de la columna B y hasta la P y se suman desde la primera fila insertada p.ej. A5 hasta la última que marque la celda B1 (celda = 12): A5+12-1=A16, luego las sumas estarán en la fila A17.

7. Con un botón, de macros no tengo ni idea.

Saludos y muchas gracias, David

Hay algo que la macro no puede decidir, si tú no le indicas a partir de qué celda se van a insertar las filas, la macro no lo sabe.

Ya establecimos que en la celda B1 vas a poner cuántas filas se van a insertar, ahora tenemos que establecer: cómo le vas a decir a la macro, a partir de qué fila quieres que se inserten las filas.

Ejemplo: en la información que me enviaste dices "Se insertan a partir de la fila 5 y con un máximo p.ej. de 12 en el primer bloque (celda B1 =12). La última fila donde irían los totales será la fila 18. De nuevo se inserta un bloque de filas igual al anterior, a partir de dejar libres 6 filas a partir de la fila 24"

Primero quieres insertar filas iniciando en la fila 5 y luego quieres insertar filas iniciando en la fila 24.

Como mencioné anteriormente, tenemos que establecer cómo le vas a indicar a la macro que inicie en 5 y luego en 20 y luego en 24, etc

Espero haberme explicado.

Una propuesta es, que en la celda dónde está el cursor, de ahí en adelante inserten las filas.

Te anexo un archivo, considerando esta última propuesta.

https://www.dropbox.com/s/1aeeorasrpxnap6/insertar%20filas.xls

Revisa el archivo y después me comentas.

Saludos. Dam

Hola Dam:

Quizás sea mejor hacer lo contrario, es decir, tener una serie de filas ocultas y que se visualicen en función de la celda B1 (que esta tenga un número a elegir de una lista desplegable o bien una condición "entre 1 y xx").

Te adjunto el enlace para que veas cómo es la hoja de cálculo

<a>https://dl.dropbox.com/u/66923091/Calculos%20y%20graficos%20kiroldegi.xlsx</a>

Saludos, David

Con gusto realizo todas las funciones que necesites, pero la pregunta inicial era insertar filas, me gustaría de favor que finalizaras esta pregunta y crearas una nueva pregunta con lo que requieres, poniendo ejemplos y definiendo bien lo que deseas.

Saludos. Dam

Hola de nuevo. He visto el ejemplo que me has enviado, me parece bien cómo funciona, lo único es que habrá que resaltar la casilla de la columna "A" donde queramos que a partir de ahí se inserten las filas. Este proceso se ha de repetir en dos ocasiones más por lo menos. ¿Has visto la hoja que te he enviado? ¿Comprendes ahora porqué necesito que se inserten en varios lugares diferentes de la hoja?

Saludos, David

Podrías de favor finalizar esta pregunta y reviso el nuevo requerimiento en la nueva.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas