Tengo inconveniente con algunas macros que me copian y pegan datos utilizando el formato de origen, lo que provoca lentitud en el proceso.
Buscando en la web, encontré una macro que acelera el proceso, evitando el "parpadeo" en la pantalla a pesar de utilizar el comando "Application.ScreenUpdating = False".
La macro es la siguiente:
Sub CopyValues(rngSource As Range, rngTarget As Range)
rngTarget.Resize(rngSource.Rows.Count, rngSource.Columns.Count).Value = rngSource.Value
End Sub
Lo que debo realizar es copiar el rango B4:B11 de la HOJA1 y pegarlo a partir de la celda A3 de la HOJA2
Luego realizo el llamado con lo siguiente:
Sub Copiar()
Call CopyValues(Hoja1.Range("B4:B11"), Hoja2.Range("A3"))
End Sub
Esto me permite un ahorro de tiempo y uso de la memoria. El inconveniente es que solo copia y pega como valores, y necesito que me copie no solo el valor, sino también el formato de origen.
Adjunto un archivo ejemplo, sobre cómo debería funcionar la macro.
Si alguien pudiera apoyarme a modificar la macro, desde ya, muy agradecido.
Buena tarde a todos los usuarios del foro.
Tengo inconveniente con algunas macros que me copian y pegan datos utilizando el formato de origen, lo que provoca lentitud en el proceso.
Buscando en la web, encontré una macro que acelera el proceso, evitando el "parpadeo" en la pantalla a pesar de utilizar el comando "Application.ScreenUpdating = False".
La macro es la siguiente:
Lo que debo realizar es copiar el rango B4:B11 de la HOJA1 y pegarlo a partir de la celda A3 de la HOJA2
Luego realizo el llamado con lo siguiente:
Esto me permite un ahorro de tiempo y uso de la memoria. El inconveniente es que solo copia y pega como valores, y necesito que me copie no solo el valor, sino también el formato de origen.
Adjunto un archivo ejemplo, sobre cómo debería funcionar la macro.
Si alguien pudiera apoyarme a modificar la macro, desde ya, muy agradecido.
Att. Pedro
Prueba de ejemplo.xls