Saltar al contenido

Copiar valores y el formato de orígen


pedrosilv

Recommended Posts

publicado

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:

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.

 

Att. Pedro 

Prueba de ejemplo.xls

publicado

la instruccion que tienes es muy efectiva pero no funciona para formatos, lo que hace es enviar la informacion a un contenedor de memoria o array y de hay pasarla a la siguiente hoja en el inter que hace eso elimina los formatos

para lo que tu quieres es mejor esta instruccion, como ves el parpadeo no se nota ahora habria que ver cuantos registros(filas) quieres copiar para ver que alternativas hay.

sub copiar_valores

Range("b2:b11").Copy: Worksheets("hoja2").Range("f2").PasteSpecial xlPasteValuesAndNumberFormats
MsgBox ("hecho")

end sub 

 

Prueba de ejemplo.xlsm

publicado

Gracias por la información Dr Hyde.

Funciona muy bien lo que me indicas. Al adaptarlo a mi proyecto, me doy cuenta que no me copia los formatos. 

Estaré buscando qué estoy haciendo mal. Además, me doy cuenta que el formato se pierde al copiar celdas combinadas, y tampoco me ajusta texto.

De nuevo, muchas gracias por la información y el tiempo brindado

 

Saludos

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.