Copiar filas según fecha

Hola

antes de todo muchas gracias por tu ayuda,

tengo un archivo el cual se cargan datos todos los días, estos se cargan a continuación de la ultima fila cargada el dia anterior, necesito traspasar a otra hoja solo las filas cargadas el ultimo dia que cumplan unas condiciones.

espero tu ayuda..., gracias.

Saludos LCN

1 respuesta

Respuesta
1

¿En cuál columna está la fecha?

¿Y solamente quieres que se pasen los del día actual?

Hola

En la columna A están las fechas y si la idea es que se traspasen solo las filas del dia actual que cumplan las condiciones.

desde ya muchas gracias.

LCN

¿Ah y dónde se van a traspasar?

Actualmente borro la hoja destino y copio lo nuevo, ¿qué siga así? ¿O qué deje lo que ya existe y copie lo nuevo abajo de lo existente?

Saludos. Dam

Cambia la macro anterior por esta, entra a VBa, presiona Ctrl + F11, borra la macro y pega esta nueva

Sub traspasar()
'por.dam
Set h1 = Sheets("traspasos")
Set h2 = Sheets("P_revisar")
h2.Cells.Clear
h1.Select
'copia encabezado
h1.Rows(1).EntireRow.Copy h2.Cells(1, "A")
j = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
uf = Range("F" & Rows.Count).End(xlUp).Row
ug = Range("G" & Rows.Count).End(xlUp).Row
uac = Range("AC" & Rows.Count).End(xlUp).Row
ufila = Application.Max(uf, ug, uac)
For i = 2 To ufila
    If IsNumeric(Cells(i, "F")) And _
        IsNumeric(Cells(i, "G")) And _
        IsNumeric(Cells(i, "AC")) And _
        IsDate(Cells(i, "A")) Then
        If Cells(i, "A") = Date Then
            If Cells(i, "F") > 30 Or Cells(i, "F") < 0 Or _
                Cells(i, "G") > 2000 Or Cells(i, "G") < 0 Or _
                Cells(i, "AC") > 8 Or Cells(i, "AC") < 0 Then
                Rows(i).EntireRow.Copy h2.Cells(j, "A")
                j = j + 1
                cont = cont + 1
            End If
        End If
    End If
Next
If cont > 0 Then
    MsgBox "Traspaso terminado" & vbCr & vbCr & _
        "Se traspasaron " & cont & " filas", vbInformation, "TRASPASOS"
Else
    MsgBox "Traspaso terminado" & vbCr & vbCr & _
        "No se traspasaron filas", vbInformation, "TRASPASOS"
End If
End Sub

Con esta macro, se borra la hoja destino y pega los datos nuevos.
Si quieres conservar los datos anteriores, borra en la macro esta línea
h2. Cells. Clear

Saludos. Dam
Si es lo que necesitas.

bien tu dices que actualmente se borran los datos de la hoja destino y se copia lo nuevo, el problema es que se copia todo de nuevo,( todas las filas que cumplen las condiciones y solo se deberían cargar las filas que cumplan las condiciones de la fecha actual).

Gracias.

LCN

Revisa que en la columna A tengas un valor que sea una fecha y prueba tener días diferentes a hoy.

¿Modificaste la macro?

Borra la hoja destino y prueba nuevamente.

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas