Visita:
Cursos de Excel y Macros
---------
Lo ideal es que la macro no tenga que cambiarse de una hoja a otra.
Lo que debe hacer la macro es hacer referencia a cada hoja. Por ejemplo si quieres copiar de la hoja 1 la celda B5 y pegar en la hoja2 en la celda D7.
Supongo que la macro hace algo como esto:
Sub prueba1()
Sheets("Hoja1").Select
Range("B5").Select
Selection.Copy
Sheets("Hoja2").Select
Range("D7").Select
ActiveSheet.Paste
End Sub
Lo adecuado sería:
Sub prueba2()
Sheets("Hoja1").Range("B5").Copy Sheets("Hoja2").Range("D7")
End Sub
De esa manera la macro es más rápida y no necesita cambiarse de una hoja a otra.
----------
Lo adecuado sería ajustar toda tu macro para que utilice las mejores prácticas en el desarrollo de macros. Te invito ver los vídeos sobre macros en mi canal.
Curso de macros. Consejos para empezar a programar. - YouTube
-----------
Si quieres, pon aquí en el foro el código de tu macro y te ayudo a adaptarlo a las mejores prácticas.
Si no quieres modificar el código (no lo recomiendo), entonces al inicio de tu código pon esta línea:
Application.ScreenUpdating = False
----
RECOMENDACIONES
Cursos de Excel:
https://www.youtube.com/watch?v=w7MYL3wDgH4&t=3s
https://www.youtube.com/watch?v=dy9w9zbkCaw&t=644s
https://www.youtube.com/watch?v=7Xhs04vhrtg&t=188s
---
Cursos de Macros:
https://www.youtube.com/watch?v=PupmVvM16-8&t=1s
https://www.youtube.com/watch?v=f_x8pstpNqc&t=3s
https://www.youtube.com/watch?v=5k0szqErdXg&t=689s
---
Sal u dos Dante Amor