Macro visor de archivos XML

Tengo un problema tengo una macro en la cual puedo extraer los datos de un archivo XML con fuente del experto @dante amor, me funciona bien pero tengo un inconveniente que hay valores repetidos y no como jalarlos. Espero puedan ayudarme adjunto la macro y la linea que tengo problemas para jalar como se observa no puedo jalar todos los <cbc:PayableAmount solo logro obtener uno de los valores.

Sub Extraccion()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets(1)
    h1.UsedRange.Offset(1, 0).ClearContents
    '
    datos = Array("/cac:Signature/cbc:ID", _
                  "/cbc:DocumentCurrencyCode", _
                  "/cac:AccountingCustomerParty/cbc:CustomerAssignedAccountID", _
                  "/cbc:IssueDate", _
                  "/cac:InvoiceLine/cbc:InvoicedQuantity", _
                  "/cac:Price/cbc:PriceAmount", _
                  "/cac:AllowanceCharge/cbc:Amount", _
                  "/cac:TaxTotal/cbc:TaxAmount", _
                  "/cac:Item/cbc:Description", _
                  "/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName")
    ruta = l1.Path & "\"
    arch = Dir(ruta & "*.xml")
    j = 2
    k = 2
    Do While arch <> ""
        Set l2 = Workbooks.Open(Filename:=ruta & arch)
        Set h2 = l2.Sheets(1)
        h1.Cells(j, "A") = arch
        For i = LBound(datos) To UBound(datos)
            Set b = h2.Rows(2).Find(datos(i), lookat:=xlPart)
            If Not b Is Nothing Then
                h1.Cells(j, k) = h2.Cells(3, b.Column)
                k = k + 1
            End If
        Next
        l2.Close
        j = j + 1
        k = 2
        arch = Dir()
    Loop
    h1.Cells.EntireColumn.AutoFit
    MsgBox "Fin"
End Sub

Añade tu respuesta

Haz clic para o