Excel - macro para copiar fórmulas de varias hojas contiguas

 
Vista:
sin imagen de perfil

macro para copiar fórmulas de varias hojas contiguas

Publicado por Dionisio (5 intervenciones) el 06/03/2014 04:44:12
Hola a Tod@s, estoy tratando de hacer una macro que me permita copiar fórmula y datos a varias hojas, os explico a ver si alguien me puede ayudar:

Tengo un campo numérico que es el resultado de un sumatorio en página 1, G4, necesito que la macro copie este dato a L6 de la página 2. Pero necesito que esta fórmula se extienda por todas las páginas activas de forma que el valor G4 de la página 2 lo copie en la celda L6 de la página 3, y así sucesivamente hasta que agote las páginas activas.

Os pongo aquí la macro que estoy intentando usar sin éxito, por si os aclara algo:

sub Copiar_formula()
dim x as integer
for x=1 to activeworkbook.sheets.count
worksheets(x).cells(4,"G").Value=worksheets(x+1).cells(6,"L").Value
x=x+1
next

end sub

Hay alguien que me ilumine...!!??

Gracias adelantadas!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

macro para copiar fórmulas de varias hojas contiguas

Publicado por Juanjo (494 intervenciones) el 06/03/2014 08:45:22
Muy buenas.

Tienes algunos errores en la macro:
- El bucle no puede ir hasta ActiveWorkbook.Sheets.Count, sino hasta ActiveWorkbook.Sheets.Count - 1
- Estás copiando en G4 lo que tienes en L6 y según tu explicación lo quieres al revés
- La instrucción For ... Next ya hace aumentar el valor de x, por lo que no tienes que poner x=x+1

Con todo lo anterior, supongo que servirá la macro de esta manera:

Sub Copiar_formula()
Dim x As Integer
For x = 1 To ActiveWorkbook.Sheets.Count - 1
Worksheets(x + 1).Cells(6, "L").Value = Worksheets(x).Cells(4, "G").Value
Next
End Sub

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

macro para copiar fórmulas de varias hojas contiguas

Publicado por JuanC (1237 intervenciones) el 06/03/2014 12:04:54
una pequeña corrección:
la variable x va desde 1 hasta ActiveWorkbook.Sheets.Count

(el índice de la 1er hoja es 1, no 0)

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

macro para copiar fórmulas de varias hojas contiguas

Publicado por Dionisio (5 intervenciones) el 06/03/2014 19:17:30
Gracias Juanjo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

macro para copiar fórmulas de varias hojas contiguas

Publicado por Dionisio (5 intervenciones) el 06/03/2014 19:16:48
Gracias Juanjo. Escribí la macro cuando ya ni veía, efectivamente el contador de x no hace falta porque el bucle incrementa el valor automáticamente.
Probando con hacer trabajar el bucle hasta ActiveWorkbook.Sheets.Count - 1 no trabajó la macro.
Probando hasta ActiveWorkbook.Sheets.Count trabajó en las 4 primeras páginas (!?)

En este punto estoy con error de compilación en

Worksheets(x+1).Cells(6,"L").Value=Worksheets(x).Cells(4,"G").Value

pero no comprendo por qué hay error en esta expresión!

También probé a cambiar el bucle for x=1 to 30 pero tampoco funciona.

A alguien se le ocurre algo..?

Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

macro para copiar fórmulas de varias hojas contiguas

Publicado por JuanC (1237 intervenciones) el 06/03/2014 19:22:56
es obvio que si x es el número de hojas, el índice x+1 no existe... error...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

macro para copiar fórmulas de varias hojas contiguas

Publicado por Dionisio (5 intervenciones) el 06/03/2014 19:31:15
Gracias Juan, ya tengo el contador con x=1 to activeworkbook.sheets.count-1 pero sigue dando error de fuera de rango.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

macro para copiar fórmulas de varias hojas contiguas

Publicado por JuanC (1237 intervenciones) el 06/03/2014 19:52:55
es un buen momento para que depures paso a paso el código...
si no publicá el archivo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

macro para copiar fórmulas de varias hojas contiguas

Publicado por Dionisio (5 intervenciones) el 06/03/2014 20:32:32
Gracias por vuestras respuestas, ya está solucionado.
El problema era que no había considerado la posibilidad de que el campo estuviese vacío!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar