Como traer documentos de una carpeta con mismas fechas pero diferente contenido desde una BVA en excel

En esta imagen detallo mi problema.

Los documentos de las carpetas que se repiten siempre se marcan con el (2), (3) y así sucesivamente, dentro de mi base de datos tengo muchos documentos que contienen la misma fecha y son del mismo cliente, pero siempre me toma el primer documento, para todas las fechas de la base de datos.

1

1 respuesta

Respuesta
1

H o l a:

Reviso cómo lo puedo resolver en el formulario y te envío la respuesta.

Sal u dos

H o l a:

Te anexo la nueva macro para cada vez que selecciones un cliente:

Private Sub cmbLista_Change()
'Por.Dante Amor
    'Buscar empresa
    If cmbLista = "" Then Exit Sub
    ListBox1.Clear
    ListBox2.Clear
    TextBox2 = ""
    TextBox3 = ""
    Set h = Sheets("Archivo 2015")
    Set b = h.Columns("A").Find(cmbLista, lookat:=xlWhole)
    If Not b Is Nothing Then
        carpeta = h.Cells(b.Row, "D")
        For i = b.Row + 1 To h.Range("B" & Rows.Count).End(xlUp).Row
            If h.Cells(i, "A") = "" Then
                ListBox1.AddItem h.Cells(i, "B")
                ListBox1.List(ListBox1.ListCount - 1, 1) = h.Cells(i, "C")
                ListBox1.List(ListBox1.ListCount - 1, 2) = carpeta
                '
                'ruta = "D:\BACK-UP\ESCRITORIO\ARCHIVO DIGITAL\"
                ruta = "D:\BACK-UP\Desktop\ARCHIVO DIGITAL\"
                'ruta = "C:\trabajo\varios\"
                carp = cmbLista & "\"
                ruta = ruta & carp
                '
                fech = h.Cells(i, "B")
                arch = Format(fech, "dd" & """ de """ & "mmmm" & """ de """ & "yyyy")
                '
                archivos = Dir(ruta & arch & "*.pdf")
                existe = False
                Do While archivos <> ""
                    existe = False
                    For j = 0 To ListBox1.ListCount - 1
                        If ListBox1.List(j, 3) = archivos Then
                            existe = True
                            Exit For
                        End If
                    Next
                    If existe = False Then
                        ListBox1.List(ListBox1.ListCount - 1, 3) = archivos
                        h.Cells(i, "B").Interior.ColorIndex = xlNone
                        h.Cells(i, "C").Interior.ColorIndex = xlNone
                        Exit Do
                    End If
                    archivos = Dir()
                Loop
                If archivos = "" Then
                    h.Cells(i, "B").Interior.ColorIndex = 3
                    h.Cells(i, "C").Interior.ColorIndex = 3
                End If
            Else
                Exit For
            End If
        Next
    Else
        MsgBox "DATO '" & cmbLista & "' NO ENCONTRADO", vbInformation, "Excel e Info"
        cmbLista = ""
        cmbLista.SetFocus
    End If
End Sub

S a l u d o s . D a n t e   A m o r. Recuerda valorar la respuesta. G r a c i a s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas