Macro excel que copie de hoja 1 a hoja 2*

* Este es el código que tengo, pero en la hoja 1 hay formulas y quiero que se mantengan activas, que al momento de ejecutar la macro, solo se copie el valor y me deje la formula activa en la hoja 1, espero me haya explicado bien, y agradecería de antemano su ayuda

Sub copia()
f = Hoja3.Range("A1").Value
Hoja2.Cells(f + 1, 1) = Hoja1.Range("A3").Value
Hoja2.Cells(f + 1, 2) = Hoja1.Range("B3").Value
Hoja2.Cells(f + 1, 3) = Hoja1.Range("C3").Value
Hoja2.Cells(f + 1, 4) = Hoja1.Range("D3").Value
Hoja2.Cells(f + 1, 5) = Hoja1.Range("E3").Value
Hoja2.Cells(f + 1, 6) = Hoja1.Range("F3").Value
Hoja1.Range("A3").Value = ""
Hoja1.Range("B3").Value = ""
Hoja1.Range("C3").Value = ""
Hoja1.Range("D3").Value = ""
Hoja1.Range("E3").Value = ""
Hoja1.Range("F3").Value = ""
Hoja1.Range("H3").Value = ""
End Sub

1 Respuesta

Respuesta
1

La instrucción que usas Hoja2.Cells(f + 1, 1) = Hoja1. Range("A3").Value solo copia el valor de la celda A3 en la hoja 2, de acuerdo a lo que necesitas esta instrucción es adecuada.

Pero las instrucciones:

Hoja1.Range("A3").Value = ""

.

.

Hoja1.Range("H3").Value = ""

Te borran el contenido de las celdas de la Hoja1 por lo tanto deberías omitirlas. Creo que tu código funcionaria mejor asi:

Sub copia()
f = Hoja3.Range("A1").Value
Hoja2.Cells(f + 1, 1) = Hoja1.Range("A3").Value
Hoja2.Cells(f + 1, 2) = Hoja1.Range("B3").Value
Hoja2.Cells(f + 1, 3) = Hoja1.Range("C3").Value
Hoja2.Cells(f + 1, 4) = Hoja1.Range("D3").Value
Hoja2.Cells(f + 1, 5) = Hoja1.Range("E3").Value
Hoja2.Cells(f + 1, 6) = Hoja1.Range("F3").Value

End sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas