valores una rellenar pegar pasar para otra macro informaciĆ³n hoja filtrar filas enlazar datos cumplen copiar condiciones condicion con celdas automaticamente excel vba excel-vba formatting

excel - una - Copie el contenido y el formato de las filas(a otra hoja)



macro para filtrar datos y pegar valores en otra hoja (2)

Lo que quiero es copiar el contenido y el formato de una fila completa a otra hoja.

Por el momento, he tenido que conformarme con establecer los contenidos de las celdas antiguas en los contenidos de las nuevas celdas y, al hacerlo, solo copio el contenido y no el formato. (mis celdas tienen diferentes colores que necesitan ser transportadas)

Por el momento tengo lo siguiente: (esto funciona bien para las celdas en la misma hoja)

Range(Cells(45, 2), Cells(45, 3)).Copy Range(Cells(50, 2), Cells(50, 3))

Sin embargo, estoy tratando de hacerlo de una hoja a otra. (Copia de la hoja ''Front_Page'' a ''vg''). Intenté usar lo siguiente, obviamente no funciona, pero ¿alguien puede decirme qué estoy haciendo mal?

Range.Worksheet("Front_Page").Range(Cells(45, 2), Cells(45, 3)).Copy Worksheet("vg").Range(Cells(50, 2), Cells(50, 3))


Cells refieren a las celdas de la hoja activa. Por lo tanto, obtiene el error: vg no es la hoja activa. Especificar celdas de otra hoja como parámetros para el objeto Range siempre conduce a un error. Esto funcionará:

Worksheets("Front_Page").Range(Worksheets("Front_Page").Cells(45, 2), Worksheets("Front_Page").Cells(45, 3)).Copy Worksheets("vg").Range(Worksheets("vg").Cells(50, 2), Worksheets("vg").Cells(50, 3))

Sin embargo, puede optimizarse para simplemente:

Worksheets("Front_Page").Range("B45:C45").Copy Worksheets("vg").Range("B50:C50")

Además, observe que Worksheet("vg") no funciona, debe reemplazarse con Worksheets("vg") sino que también causará errores.

Para copiar toda la fila, use:

Worksheets("Front_Page").Rows("45:45").Copy Worksheets("vg").Rows("50:50")


Parece que intentas copiar las celdas de "Front_Pages" a "vg" ya que usas "cells" dentro de "range"

Rango (celdas ...).

Si es así, simplemente puede cambiar el formato de celda como rango general de excel; prueba este código:

Sheets("vg").Range("B5") = Sheets("Front_Pages").Range("B4") Sheets("vg").Range("C5") = Sheets("Front_Pages").Range("C4")