Copiar datos filtrados de un libro a otro

Tengo un libro de excel que lo denominare archivo A en el cual recopilo las siguientes columnas de ejemplo (fecha de compra, casa, moto, carro, color, marca, motor, chasis) de los últimos 6 meses, estos datos de 6 meses pueden completar hasta 60.000 filas, unas 10.000 x mes, y tengo otro archivo de excel que lo denominare archivo B, que solo tiene estas columnas (fecha de compro, moto y chasis), ¿mi pregunta es si es posible en en el archivo A aplicar un filtro en la columna fecha de compra las cosas compradas el 31 de diciembre 2017 y que automáticamente por medio de un botón por macro copie y pegue únicamente la información filtrada en el archivo B?, hay que tener en cuenta que el archivo A tiene las Columnas (A, B, C, DE, E) y en el archivo B solo necesito copiar la información del archivo A que estén en la columna A, C Y DE pero que las pegue en las columnas A, B Y C del archivo B.

Respuesta
3

Recién publiqué una respuesta muy similar.

Revisa si puedes adaptarlo a 2 libros. O tal vez decidas poner tu información en dos hojas en el mismo libro.

Te dejo el enlace:

Macro que filtre bace de datos según referencia y copie resultado a otra hoja

Si te sirve, no olvides valorar la respuesta. Si necesitas ayuda con la macro. Dime en cuál celda vas a poner la fecha de filtro. En cuáles filas inicia tu información origen y destino.

Buenos días;

No logre adaptarlo a mi libro, me tome el atrevimiento de enviarte el archivo A y el archivo B al correo [email protected], para ver si era posible que le dieras una revisada y me dijeras si es posible lo que necesito, muchas gracias

Puse mi nombre de usuario como titulo del correo, gracias

Te anexo la macro

Sub Copiar_Colunmas()
'Por Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    '
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja de Ingreso")
    Set l2 = Workbooks("Archivo B.xlsb")
    Set h2 = l2.Sheets(1)
    '
    h2.Rows("6:" & Rows.Count).ClearContents
    '
    If h1.Range("A2") = "" Or Not IsDate(h1.Range("A2")) Then
        MsgBox "Captura una fecha en la celda A2"
        Range("A2").Select
        Exit Sub
    End If
    '
    fecha = Format(h1.Range("A2").Value, "mm/dd/yyyy")
    If h1.AutoFilterMode Then h1.AutoFilterMode = False
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A3:CU" & u).AutoFilter Field:=1, _
        Operator:=xlFilterValues, Criteria2:=Array(1, fecha)
'    ActiveSheet.Range("$A$3:$CS$4596").AutoFilter Field:=1, _
        Operator:=xlFilterValues, Criteria2:=Array(1, "12/31/2017")
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    '
    'Columnas origen Libro "A"
    c1 = Array("A", "B", "D", "F", "H", "J", "CN", "CO")
    'Columnas destion Libro "B"
    c2 = Array("A", "B", "C", "D", "E", "F", "G", "H")
    '
    For j = LBound(c1) To UBound(c2)
        H1. Range(h1. Cells(4, c1(j)), h1. Cells(u, c1(j))). Copy
 h2. Cells(6, c2(j)). PasteSpecial xlValues
    Next
    '
    If h1.AutoFilterMode Then h1.AutoFilterMode = False
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    MsgBox "Columnas copiadas", vbInformation, "COPIAR"
End Sub

.

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

.

Avísame cualquier duda

.

1 respuesta más de otro experto

Respuesta
1

Estos ejemplos

http://www.programarexcel.com/2013/05/macro-vba-recorre-filas-busca-y-copia.html

http://www.programarexcel.com/2013/03/copia-datos-abre-otro-libro-pega-datos.html

https://youtu.be/TOXRk5oWLW4

https://youtu.be/kiXoJ0hSblA

La pregunta no admite más respuestas

Más respuestas relacionadas