Extraer todos los conceptos de un archivo XML (CFDI). (Petición de Suscriptor)

preview_player
Показать описание
En esta entrega, les muestro un modo de extraer Nodos por conceptos de un archivo XML, en México sería un CFDI.
Рекомендации по теме
Комментарии
Автор

Hola maestro, gracias por sus videos, excelente explicación. Le comento que intenté hacer la extracción como lo explicó sin embargo, algo he de estar haciendo mal ya que solo me extrae las conceptos de la primera factura, si cargo mas facturas ya no me hace el conteo de las siguientes facturas, y si le doy contar nodo posicionándome en el segundo cfdi vuelve a contar los nodos del primer cdfi cargado. No se si me di a entender,
Ejemplo, mi celda activa de conteo de artículos empieza en A10, mi ruta está en B10 y cargué 2 cfdis, el primero tiene 4 artículos y el segundo 15 y al ejecutar la función solo cuenta del primer cfdi y queda de la siguiente manera.
A10 C10
4 0
4 1
4 2
4 3
15 Aqui ya no me cuenta nada, y si me posiciono sobre el 15 y le doy conteo de nodos la celda se va a A11 y vuelve a contar los 4 artículos del primer cfdi
Quedando de la siguiente manera:

A10 C10
4 0
4 1
4 2
4 3

4 1
4 2
4 3


15 y sigue dejando en blanco sin contar los 15 artículos.

Ojalá pueda aclarar mi duda y haya sido clara mi explicación.

citlalim
Автор

Buen día maestro maneja terminos propios de programación, por lo que es necesario aprender cada uno de los terminos?, lo comento porue como so principiante desconozco éstos, y por otro lado habrá la forma de como hacer un control de gastos personales mediante formularios y que por cada concento ya sea deposito y gasto se valla actualizando mi saldo en banco?

SAludos y gracias estoy al pendiente de su enseñanzas Bendiciones

arturocastillochavez
Автор

La macro según yo la escribí tal cual su explicación pero igual algo omití, se la anexo haber si me hace el favor de encontrar el error. Gracias.
Sub Insertar() 'INSERTAR NUMERO DE RENGLONES POR NODO
Range("A10").Select

numeronodo = Val(ActiveCell)
ActiveCell.Offset(1, 0).Select
If numeronodo > 1 Then
For n = 1 To numeronodo - 1

ActiveCell.EntireRow.Insert

ActiveCell.Offset(1, 0).Select
Next n
Else
End If
'Copia las formulas al rango del CFDI
Range("A10").Select

numeronodo = Val(ActiveCell)

If numeronodo > 1 Then

ActiveCell.EntireRow.Copy
For x = 1 To numeronodo - 1
ActiveCell.Offset(1, 0).Select
ActiveCell.PasteSpecial xlPasteFormulas

Next x
End If
'Regresa al inicio del CFDI y se cambia a la columna del Numero de nodo Individual
Range("A10").Select
nuemeronodo = Val(ActiveCell)
Range("C10").Select
If numeronodo > 1 Then
For Z = 1 To numeronodo
ActiveCell = Z - 1
ActiveCell.Offset(1, 0).Range("A1").Select
Next Z
End If

End Sub

citlalim