Macro que copie una rango de una hoja a otra segun la fecha

Soy novato en VBA, necesito una macro que me copie los datos de hoja 1 a hoja 2 segun la fecha colocada en hoja 1. La macro debe buscar la fecha en la columna "A" de hoja 2 y pegar los datos del rango "C4:F10" de hoja 1 coincidente con la fecha colocada.

Mil Gracias

Hoja1

Hoja 2

1 Respuesta

Respuesta
1

Hay algunos detalles aún por aclarar.

Entiendo que el disparador es la Hoja1 y según la fecha (¿estará siempre en la misma ubicación? ) Buscará la misma en Hoja2. ¿Pero tienen la misma cantidad de filas? ¿O habrá que insertar según Hoja1?

Mejor me envias las 2 hojas (sin datos, así como las estás mostrando aquí). Mis correos aparecen en la portada del sitio que dejo al pie.

Hola Elsa, te envíe por correo el archivo

Muchas gracias

Esta es la macro que necesitas entonces:

Sub copiaDias()
'x Elsamatilde
'verifica que haya fecha
If [B2] = "" Then Exit Sub
Set ho2 = Sheets("Hoja2")
'se busca fecha en Hoja2. Si no se encuentra cancela, sino copia todo el rango.
Set busco = ho2.Range("A:A").Find([B2], lookat:=xlWhole)
If Not busco Is Nothing Then
    x = busco.Row
    [C4:F10].Copy Destination:=ho2.Range("B" & x)
Else
    MsgBox "No se encontró este día en Hoja2."
    Exit Sub
    'opcional: crear grupo de celdas
End If
'limpiar la hoja para el día siguiente
[C4:F10].ClearContents
MsgBox "Fin del proceso."
End Sub

Mañana te devuelvo el libro con la macro probada.

Sdos y no olvides valorar la respuesta (al pie encontrarás botones Excelente o Buena).

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas