Como puedo copiar unas celdas a otro lugar de una misma hoja cuando se dan unas circunstancias

Tengo una hoja excel con unos datos. Las celdas D4, E7, E8, F7 y F8 tienen datos que van cambiando de valor por si solos, pues están vinculados a un programa que sincroniza estos cambios en la hoja excel. La D4 es un contador de tiempo que va marcha atrás y las otras 4 celdas cambian si se produce alguna variación en su valor en la aplicación externa de excel.
Lo que estoy buscando es la manera de que automáticamente se copien los valores del rango E7:F8 al rango C7:D8 cuando el valor del reloj/contador (D4) coincida con la celda F4 (que se pone a mano según nuestro interés).
De manera que, siguiendo con el ejemplo, cuando la celda D4 llegue a 10400, que es el mismo valor que tengo en la celda F4 (que insertamos de manera manual), se copie automáticamente el rango E7:F8 al rango C7:D8, es decir, los valores 111, 222, 100 y 200.
Una vez hecho esto, el rango C7:D8 permanece fijo y el rango E7:F8 puede seguir variando según se actualice con la aplicación.
Vuelvo a poner el enlace del documento.
<a>https://app.box.com/es/swkuzu4r2yhd3a7r8vb3</a>

Muchas gracias por su tiempo

1 respuesta

Respuesta
1

If range ("d4")= ("f4") then

range ("e7:f8").select

selection.copy

range ("c7").select

activesheet.paste

else

end if

end sub

Algo parecido a esto

Gracias por la respuesta.

Me da "error de depuración" bien por range ("e7:f8").select o por activesheet.paste

¿Qué hago mal? ¿Donde la tengo que meter?

- Directamente en el Menu Programador-Visual Basic-SheetX ?

o

- Vía grabar Macro?

Soy usuario de excel pero estas cosas no las controlo en absoluto.

Sub h()
Sheets("Hoja1").Select
If Range("d4") = Range("f4") Then
Range("e7:f8").Select
Selection.Copy
Range("c7").Select
ActiveSheet.Paste
Else
MsgBox "Datos no coinciden"
End If
MsgBox "DATOS COPIADOS"
End Sub

Aver checate este

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas