Macro que busque por fechas en hoja 1 y corte dichas filas y las pegue en hoja 2

Necesito una macro que busque en una tabla de hoja 1 las filas que tengan fecha de hoy y anteriores de la columna A1, corte dichas filas y las pegue en hoja 2 a partir de la ultima fila vacia ordenadas cronológicamente. Tanto la hoja 1 como la hoja 2 tienen encabezado de columnas.

1 respuesta

Respuesta
2

H o l a:

Te anexo la macro

Sub CopiarFilas()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "A") <= Date Then
            h1.Rows(i).Copy h2.Rows(h2.Range("A" & Rows.Count).End(xlUp).Row + 1)
        End If
    Next
    MsgBox "Fin"
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Ok vamos muy  bien, dos apuntes mas.

Los datos de la h1 empiezan en la fila 5, por encima no tiene que copiar nada. (Tengo el panel inmovilizado con un encabezado y apuntes que sólo tienen que estar ahí)

En vez de COPIAR es CORTAR eliminando las filas cortadas de la h1. ( Que no queden filas vacías )

Gracias 

Macro actualizada

Sub CopiarFilas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    For i = 5 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "A") <= Date Then
            h1.Rows(i).Copy h2.Rows(h2.Range("A" & Rows.Count).End(xlUp).Row + 1)
            h1.Cells(i, "A") = "BORRAR"
        End If
    Next
    For i = h1.Range("A" & Rows.Count).End(xlUp).Row To 5 Step -1
        If h1.Cells(i, "A") = "BORRAR" Then
            h1.Rows(i).Delete
        End If
    Next
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¡Gracias!  Funciona a la perfección, un GRAN experto.

No olvides cambiar la valoración a la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas