Modificación de macro que compara dos campos y extrae datos

Necesito ayuda con una macro que me creaste hace un tiempo. El archivo para la cual se creo tiene como tres columnas, y yo se la coloque a otro archivo que tiene más columnas y agregue dichas columnas en la macro pero no extrae los datos de todos los archivos que se encuentran en una carpeta llamada "carpeta de factura"

La macro busca la fecha que esta en el archivo "caja chica" en las facturas que están en la carpeta"carpeta de factura" y debe extraer los campos que le indico.

Te envío por correo el archivo que tiene la macro llamado (caja chica) y 4 archivo de donde debe salir la información.

1 respuesta

Respuesta
1

Te anexo la macro actualizada

Sub BuscarMatriculas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("hoja1")
    '
    If h1.[A5] = "" Then
        MsgBox "Raisa, favor Poner la Fecha"
        Exit Sub
    End If
    '
    ruta = "D:\CENTRO EDUCATIVO AMIGUITOS DE JESUS\carpeta de factura\"
    'ruta = "C:\trabajo\carpeta de factura\"
    'ruta = l1.Path & "\"
    arch = Dir(ruta & h1.[N5] & "*.xls*")
    col = "IT"
    Do While arch <> ""
        Set a = h1.Columns(col).Find(arch, lookat:=xlWhole)
        If a Is Nothing Then
            Set l2 = Workbooks.Open(ruta & arch)
            Set h2 = l2.Sheets(1)
            u = 8
            Do While h1.Cells(u, "A") <> ""
                u = u + 1
            Loop
            h1.Cells(u, "A") = h2.[N6]
            h1.Cells(u, "B") = h2.[D13]
            h1.Cells(u, "C") = h2.[H13]
            h1.Cells(u, "D") = h2.[L13]
            h1.Cells(u, "E") = h2.[D18]
            h1.Cells(u, "F") = h2.[D20]
            h1.Cells(u, "G") = h2.[L11]
            h1.Cells(u, "I") = h2.[E7]
            h1.Cells(u, "J") = h2.[O18]
            h1.Cells(u, col) = arch
            l2.Close False
        End If
        arch = Dir()
    Loop
    Application.ScreenUpdating = True
    MsgBox "Termino, Raisa"
End Sub

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

SAludos,

DAnte,

Porque la macro tiene dos direcciones?

Esta es tu ruta:

ruta = "D:\CENTRO EDUCATIVO AMIGUITOS DE JESUS\carpeta de factura\"

Como yo no tengo esa ruta en mi máquina tengo que utilizar una ruta para probar.

Esta es mi ruta:

'ruta = "C:\trabajo\carpeta de factura\"

Si te das cuenta, en mi ruta, antes de la palabra ruta, hay un apostrofe, eso significa que la línea está desactivada, por lo tanto, no afecta a tu macro.

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas