COPIAR FÓRMULAS CADA 4 FILAS

19/04/2010 - 23:28 por FERNANDOMH | Informe spam
Hola.
Tengo varios archivos con rangos de filas y columnas variables, lo que
tienen en común es que tienen datos en dos filas consecutivas con datos y
luego dos filas en blanco.

Por ejemplo si los datos iniciaran en la fila 10 (que no siempre es así)

A B C
10 5 7 20
11 25 3 80
12
13
14 5 29 34
15 76 90 83
16
18
19 76 43 12
20

Lo que hago manualmente es poner fórmulas (en este caso en la fila 12) que
sumen y otras operaciones de las primeras dos filas y luego copio manualmente
las fórmulas a las filas 16, 20, 24, etc, etc, pero son muchas filas y
quisiera poder hacerlo automáticamente con una macro.

Como digo, son varios archivos y no en todos el rango de las columnas es el
mismo, ni tampoco el rango de las filas.

Quisiera tener la oportunidad de elegir las columnas que se van a copiar y
el rango de filas hasta donde se va a copiar, de antemano muchas gracias.

Preguntas similare

Leer las respuestas

#1 Benito Merino
20/04/2010 - 07:51 | Informe spam
On 19 abr, 23:28, FERNANDOMH
wrote:
Hola.
Tengo varios archivos con rangos de filas y columnas variables, lo que
tienen en común es que tienen datos en dos filas consecutivas con datos y
luego dos filas en blanco.

Por ejemplo si los datos iniciaran en la fila 10 (que no siempre es así)

           A    B       C
10    5 7       20
11      25      3       80
12
13
14      5       29      34
15      76      90      83
16
18
19      76      43      12
20

Lo que hago manualmente  es poner fórmulas (en este caso en la fila 12) que
sumen y otras operaciones de las primeras dos filas y luego copio manualmente
las fórmulas a las filas 16, 20, 24, etc, etc,  pero  son muchas filas y
quisiera poder hacerlo automáticamente con una macro.

Como digo, son varios archivos y no en todos el rango de las columnas es el
mismo, ni tampoco el rango de las filas.

Quisiera tener la oportunidad de elegir las columnas que se van a copiar y
el rango de filas hasta donde se va a copiar, de antemano muchas gracias.



Hola.

Prueba la siguiente macro:

Sub macro()
[A12].Select
While ActiveCell.Row < Range("A65536").End(xlUp).Row + 2
ActiveCell.Resize(1, 3).FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)"
ActiveCell.Offset(4, 0).Select

Wend
End Sub


Saludos,

Benito Merino
Barcelona
Respuesta Responder a este mensaje
#2 FERNANDOMH
20/04/2010 - 16:24 | Informe spam
Hola Benito Merino, muchas gracias por contestar, tal vez no fui tan claro
en lo que solicitaba, probé tu código y funciona muy bien pero solo con la
operación de suma, lo que sucede es que no solo realizo sumas sino otro tipo
de operaciones (tengo funciones de excel, restas, divisiones etc.) además de
que no deseo copiar toda la fila entera, sino que elegir que columnas copiar
y estas pueden no estar contiguas.
Lo que realmente necesito es copiar exactamente unas partes de la fila 12 a
las filas 16,20,24, 28,..etc.,

Muchas gracias.


"Benito Merino" escribió:

On 19 abr, 23:28, FERNANDOMH
wrote:
> Hola.
> Tengo varios archivos con rangos de filas y columnas variables, lo que
> tienen en común es que tienen datos en dos filas consecutivas con datos y
> luego dos filas en blanco.
>
> Por ejemplo si los datos iniciaran en la fila 10 (que no siempre es así)
>
> A B C
> 10 5 7 20
> 11 25 3 80
> 12
> 13
> 14 5 29 34
> 15 76 90 83
> 16
> 18
> 19 76 43 12
> 20
>
> Lo que hago manualmente es poner fórmulas (en este caso en la fila 12) que
> sumen y otras operaciones de las primeras dos filas y luego copio manualmente
> las fórmulas a las filas 16, 20, 24, etc, etc, pero son muchas filas y
> quisiera poder hacerlo automáticamente con una macro.
>
> Como digo, son varios archivos y no en todos el rango de las columnas es el
> mismo, ni tampoco el rango de las filas.
>
> Quisiera tener la oportunidad de elegir las columnas que se van a copiar y
> el rango de filas hasta donde se va a copiar, de antemano muchas gracias.

Hola.

Prueba la siguiente macro:

Sub macro()
[A12].Select
While ActiveCell.Row < Range("A65536").End(xlUp).Row + 2
ActiveCell.Resize(1, 3).FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)"
ActiveCell.Offset(4, 0).Select

Wend
End Sub


Saludos,

Benito Merino
Barcelona
.

Respuesta Responder a este mensaje
#3 L. Garcia
20/04/2010 - 17:05 | Informe spam
Hola Fernando:

Prueba si te sirve este truco, y si funciona puedes intentar pasarlo a
'macro' ;-)

Seleccionas todo el rango de datos y le das al menú 'Insertar/Tabla' (si
tiene o no cabeceras lo decides tu ;-D)

Creas las fórmulas en las 2 primeras filas vacias (las formulas tambien las
decides tu ;-D)

Copias las celdas que contienen las formulas (Ctrl-C), serán 2 filas por 'n'
columnas.

En el filtro de la primera columna seleccionadas SOLAMENTE las vacías, para
que queden SOLAMENTE las filas donde quieres copiar.

Seleccionas toda la primera columna (sin el encabezado, claro esta)

Haces Ctrl-V y yata!!!

Si no te gusta el formato de tabla, se puede borrar (convertir en rango)

Bueno, todo esto con Excel2007, con versiones anteriores, como no existe la
opción tabla, lo deberás hacer directamente con filtros, pero creo que
funcionaria igualmente.

Saludos


"FERNANDOMH" escribió en el mensaje
news:
Hola.
Tengo varios archivos con rangos de filas y columnas variables, lo que
tienen en común es que tienen datos en dos filas consecutivas con datos y
luego dos filas en blanco.

Por ejemplo si los datos iniciaran en la fila 10 (que no siempre es así)

A B C
10 5 7 20
11 25 3 80
12
13
14 5 29 34
15 76 90 83
16
18
19 76 43 12
20

Lo que hago manualmente es poner fórmulas (en este caso en la fila 12)
que
sumen y otras operaciones de las primeras dos filas y luego copio
manualmente
las fórmulas a las filas 16, 20, 24, etc, etc, pero son muchas filas y
quisiera poder hacerlo automáticamente con una macro.

Como digo, son varios archivos y no en todos el rango de las columnas es
el
mismo, ni tampoco el rango de las filas.

Quisiera tener la oportunidad de elegir las columnas que se van a copiar y
el rango de filas hasta donde se va a copiar, de antemano muchas gracias.

Respuesta Responder a este mensaje
#4 Benito Merino
20/04/2010 - 18:17 | Informe spam
On 20 abr, 17:05, "L. Garcia" wrote:
Hola Fernando:

Prueba si te sirve este truco, y si funciona puedes intentar pasarlo a
'macro' ;-)

Seleccionas todo el rango de datos y le das al menú 'Insertar/Tabla' (si
tiene o no cabeceras lo decides tu ;-D)

Creas las fórmulas en las 2 primeras filas vacias (las formulas tambien las
decides tu ;-D)

Copias las celdas que contienen las formulas (Ctrl-C), serán 2 filas por 'n'
columnas.

En el filtro de la primera columna seleccionadas SOLAMENTE las vacías, para
que queden SOLAMENTE las filas donde quieres copiar.

Seleccionas toda la primera columna (sin el encabezado, claro esta)

Haces Ctrl-V y yata!!!

Si no te gusta el formato de tabla, se puede borrar (convertir en rango)

Bueno, todo esto con Excel2007, con versiones anteriores, como no existe la
opción tabla, lo deberás hacer directamente con filtros, pero creo que
funcionaria igualmente.

Saludos

"FERNANDOMH" escribió en el mensajenews:

> Hola.
> Tengo varios archivos con rangos de filas y columnas variables, lo que
> tienen en común es que tienen datos en dos filas consecutivas con datos y
> luego dos filas en blanco.

> Por ejemplo si los datos iniciaran en la fila 10 (que no siempre es así)

>           A B C
> 10    5 7 20
> 11 25 3 80
> 12
> 13
> 14 5 29 34
> 15 76 90 83
> 16
> 18
> 19 76 43 12
> 20

> Lo que hago manualmente  es poner fórmulas (en este caso en la fila 12)
> que
> sumen y otras operaciones de las primeras dos filas y luego copio
> manualmente
> las fórmulas a las filas 16, 20, 24, etc, etc,  pero  son muchas filas y
> quisiera poder hacerlo automáticamente con una macro.

> Como digo, son varios archivos y no en todos el rango de las columnas es
> el
> mismo, ni tampoco el rango de las filas.

> Quisiera tener la oportunidad de elegir las columnas que se van a copiar y
> el rango de filas hasta donde se va a copiar, de antemano muchas gracias.



Hola.

Las siguientes modificaciones en la macro creo que, ahora, se ajustan
a tus necesidades

Sub macro()
ultimafila = Range("A65536").End(xlUp).Row + 1
[A12].Select
Range("A12", "C12").Copy
While ActiveCell.Row < ultimafila
ActiveCell.Offset(4, 0).PasteSpecial (xlPasteAll)
Wend
End Sub


Saludos,

Benito Merino
Barcelona
Respuesta Responder a este mensaje
#5 FERNANDOMH
20/04/2010 - 20:57 | Informe spam
Hola Benito Merino, muchas gracias por contestar.

Probé el nuevo código y funciona perfectamente, es realmente lo que
necesitaba, con solo modificar los rangos en el código lo puedo utilizar para
varios archivos que no tienen el mismo rango a copiar, muchas gracias por la
atención, saludos

"Benito Merino" escribió:

On 20 abr, 17:05, "L. Garcia" wrote:
> Hola Fernando:
>
> Prueba si te sirve este truco, y si funciona puedes intentar pasarlo a
> 'macro' ;-)
>
> Seleccionas todo el rango de datos y le das al menú 'Insertar/Tabla' (si
> tiene o no cabeceras lo decides tu ;-D)
>
> Creas las fórmulas en las 2 primeras filas vacias (las formulas tambien las
> decides tu ;-D)
>
> Copias las celdas que contienen las formulas (Ctrl-C), serán 2 filas por 'n'
> columnas.
>
> En el filtro de la primera columna seleccionadas SOLAMENTE las vacías, para
> que queden SOLAMENTE las filas donde quieres copiar.
>
> Seleccionas toda la primera columna (sin el encabezado, claro esta)
>
> Haces Ctrl-V y yata!!!
>
> Si no te gusta el formato de tabla, se puede borrar (convertir en rango)
>
> Bueno, todo esto con Excel2007, con versiones anteriores, como no existe la
> opción tabla, lo deberás hacer directamente con filtros, pero creo que
> funcionaria igualmente.
>
> Saludos
>
> "FERNANDOMH" escribió en el mensajenews:
>
> > Hola.
> > Tengo varios archivos con rangos de filas y columnas variables, lo que
> > tienen en común es que tienen datos en dos filas consecutivas con datos y
> > luego dos filas en blanco.
>
> > Por ejemplo si los datos iniciaran en la fila 10 (que no siempre es así)
>
> > A B C
> > 10 5 7 20
> > 11 25 3 80
> > 12
> > 13
> > 14 5 29 34
> > 15 76 90 83
> > 16
> > 18
> > 19 76 43 12
> > 20
>
> > Lo que hago manualmente es poner fórmulas (en este caso en la fila 12)
> > que
> > sumen y otras operaciones de las primeras dos filas y luego copio
> > manualmente
> > las fórmulas a las filas 16, 20, 24, etc, etc, pero son muchas filas y
> > quisiera poder hacerlo automáticamente con una macro.
>
> > Como digo, son varios archivos y no en todos el rango de las columnas es
> > el
> > mismo, ni tampoco el rango de las filas.
>
> > Quisiera tener la oportunidad de elegir las columnas que se van a copiar y
> > el rango de filas hasta donde se va a copiar, de antemano muchas gracias.

Hola.

Las siguientes modificaciones en la macro creo que, ahora, se ajustan
a tus necesidades

Sub macro()
ultimafila = Range("A65536").End(xlUp).Row + 1
[A12].Select
Range("A12", "C12").Copy
While ActiveCell.Row < ultimafila
ActiveCell.Offset(4, 0).PasteSpecial (xlPasteAll)
Wend
End Sub


Saludos,

Benito Merino
Barcelona
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida