La Macro me tarda mucho tiempo

Hola Expertos:
He generado una macro mediante la que traspaso datos de una hoja a otra dentro del mismo libro.
Sin embargo a la hora de realizar esta sencilla operación la macro me tarda alrededor de 20 segundos. Yo diría que es porque el Excel tiene que realizar muchos cálculos al estar las hojas entrelazadas con bastantes fórmulas (es una hipótesis).
Me gustaría saber como puedo reducir el tiempo de ejecución. ¿Puedo indicarle a la macro que Excel deje de recalcular mientras se ejecuta? (Cálculo automático - cálculo manual).
Muchas gracias por anticipado.
Un saludo,

1 Respuesta

Respuesta
1
El tiempo de duración es variable en función de bastantes parámetros, memoria Ram, procesos cargados en Windows, velocidad del procesador... etc
De todas formas si las fórmulas ya han calculado los resultados cuando tu ejecutas la macro. Efectivamente configura el calculo en automático y en la macro no pongas las fórmulas pon solo los valores de las celdas para que te pase los valores, y no que calcule el resultado, te explico:
Si en la Hoja1 tienes en la celda B1 la fórmula:
=A1+A2
No pongas en la macro la formula recoge solo el valor para pasarlo a la Hoja2:
ActiveCell.Copy Destination:=Sheets("Hoja2").Range("B1")
o utiliza la instruccion Cells para poder hacer un bucle contando filas y columnas
ActiveCell.Copy Destination:=Sheets("Hoja2").Cells(1,1)
Mira a ver si te ha servido.
>Un saludo
>Julio
Puntúa y finaliza la consulta.
Muchas gracias Julio, efectivamente el proceso se agiliza. Asimismo he introducido la orden de Application.Calculation =XlManual al inicio de la macro para traspasar los datos y luego al finalizar el copiado para que vuelva a realizar el cálculo de forma automática y el tiempo se ha reducido de forma muy considerable.
Muchas gracias por tu ayuda, has sido muy amable.
Un saludo,

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas