Tengo una macro en excel que me importa los campos de un xml a excel, pero cuando este tiene varios conceptos no funciona
De TE, tengo una macro en excel que me importa el contenido de múltiples archivos .xml a excel y funciona bien, pero el detalle es cuando el .xml tiene varios "conceptos" solo importa el primero de ellos... Como puedo hacer para importar todos los conceptos...
Esta es la macro
Sub ExtraerFolioFiscal()
Dim MiPc, Carpeta, Archivos, Archivo
Dim y, Fila, FolioFiscal
Application.ScreenUpdating = False
Fila = Range("A" & Rows.Count).End(xlUp).Row + 1
Set MiPc = CreateObject("Scripting.FileSystemObject")
Set Carpeta = MiPc.GetFolder(Range("B1").Value)
Set Archivos = Carpeta.Files
For Each Archivo In Archivos
If LCase(Right(Archivo.Name, 4)) = ".xml" Then
Workbooks.OpenXML Filename:=Archivo
y = 1: FolioFiscal = ""
Do Until Cells(2, y) = ""
If Trim(Cells(2, y)) = "/@folio" Then
FolioFiscal = Cells(3, y)
End If
If Trim(Cells(2, y)) = "/cfdi:Emisor/@rfc" Then
EmisorRfc = Cells(3, y)
End If
If Trim(Cells(2, y)) = "/cfdi:Emisor/@nombre" Then
EmisorNombre = Cells(3, y)
End If
If Trim(Cells(2, y)) = "/cfdi:Receptor/@nombre" Then
ReceptorNombre = Cells(3, y)
End If
y = y + 1
Loop
'--
Archivo = ActiveWorkbook.Name
ActiveWorkbook.Close
Range("A" & Fila) = Archivo
Range("B" & Fila) = FolioFiscal
Range("C" & Fila) = EmisorRfc
Range("D" & Fila) = EmisorNombre
Range("E" & Fila) = ReceptorNombre
Fila = Fila + 1
End If
Next
End Sub
...
Y esta es la parte del .xml donde están los conceptos
<cfdi:Conceptos>
<cfdi:Concepto cantidad="6" unidad="Pieza" noIdentificacion="300J3140M0" descripcion="PLAY C/R JUVENIL M LIMA" valorUnitario="21.00" importe="126.00"/>
<cfdi:Concepto cantidad="1" unidad="Pieza" noIdentificacion="300J3140L0" descripcion="PLAY C/R JUVENIL L LIMA" valorUnitario="21.00" importe="21.00"/>
<cfdi:Concepto cantidad="1" unidad="Pieza" noIdentificacion="3003140S0" descripcion="PLAY C/R P. COMPLETO S LIMA" valorUnitario="26.00" importe="26.00"/>
<cfdi:Concepto cantidad="6" unidad="Pieza" noIdentificacion="3003140M0" descripcion="PLAY C/R P. COMPLETO M LIMA" valorUnitario="26.00" importe="156.00"/>
<cfdi:Concepto cantidad="10" unidad="Pieza" noIdentificacion="3003140L0" descripcion="PLAY C/R P. COMPLETO L LIMA" valorUnitario="26.00" importe="260.00"/>
</Cfdi:Conceptos>
Funciona bien con los .xml que tienen un concepto, con los que tienen varios, como el ejemplo, solo importa el primer registro...
¿Cómo puedo hacerle para importar todos los conceptos?
Desde ya agradezco cualquier ayuda u orientación que me puedan brindar