El encabezado tiene 3 líneas
Sub encabezado(h1, h2, h3, i, j)
'Por.Dante Amor
h3.Rows(1 & ":" & 3).Copy h2.Rows(j)
'Línea 1 del encabezado
h2.Cells(j, "B") = h1.Cells(i, "F") 'invoice num
h2.Cells(j, "C") = h1.Cells(i, "J") 'invoice date
h2.Cells(j, "D") = h1.Cells(i, "G") 'CURRENCY
h2.Cells(j, "E") = h1.Cells(i, "AB") 'PO
h2.Cells(j, "F") = h1.Cells(i, "O") 'PAYMENT_TERM
j = j + 1
'
'Línea 2 del encabezado
h2.Cells(j, "B") = h1.Cells(i, "A") 'BILL_TO_CUSTOMER_NAME
h2.Cells(j, "C") = h1.Cells(i, "Y") 'VAT NUMNER PURCHASING COMPANY
j = j + 1
'
'Línea 3 del encabezado
h2.Cells(j, "B") = h1.Cells(i, "Z") 'SELLER
h2.Cells(j, "C") = h1.Cells(i, "AA") 'SELLER VAT
j = j + 1
End Sub
por ejemplo, para poner el "END CUSTOMER NAME" en la segunda línea, lo tienes que poner en esta parte:
'Línea 2 del encabezado
h2.Cells(j, "B") = h1.Cells(i, "A") 'BILL_TO_CUSTOMER_NAME
h2.Cells(j, "C") = h1.Cells(i, "Y") 'VAT NUMNER PURCHASING COMPANY
h2.Cells(j, "D") = h1.Cells(i, "X") 'END CUSTOMER NAME
Estoy diciendo que va en la columna "D" y que tome el dato de la columna "X"
El cuerpo tiene 2 líneas
Sub productos(h1, h2, h3, i, j)
'Por.Dante Amor
h3.Rows(4 & ":" & 6).Copy h2.Rows(j)
'
'Línea 1
'
h2.Cells(j, "C") = h1.Cells(i, "P") 'DESCRIPTION
j = j + 1
'
'Línea2
'
h2.Cells(j, "C") = h1.Cells(i, "K") 'QUANTITY_INVOICED
h2.Cells(j, "D") = h1.Cells(i, "L") 'UNIT_SELLING_PRICE
'
If h1.Cells(i, "U") = 0 Then
Select Case h1.Cells(i, "AE")
Case "Spain": texto = "Exento"
Case "UK": texto = "Vat exempt"
Case "Germany": texto = "Vat exempt"
End Select
Else
Select Case h1.Cells(i, "AE")
Case "Spain": texto = "IVA"
Case "UK": texto = "Standard rate"
Case "Germany": texto = "Standard rate"
End Select
End If
'
h2.Cells(j, "J") = texto 'text
h2.Cells(j, "K") = h1.Cells(i, "U") 'TAX_PERCENTAGE
j = j + 2
End Sub
Si quieres agregar un dato en la segunda línea, por ejemplo el "EXTENDED_AMOUNT " en la columna "F":
h2.Cells(j, "C") = h1.Cells(i, "K") 'QUANTITY_INVOICED
h2.Cells(j, "D") = h1.Cells(i, "L") 'UNIT_SELLING_PRICE
h2.Cells(j, "F") = h1.Cells(i, "M") 'EXTENDED_AMOUNT
Los datos del pie se agregan en la columna "C":
Sub pie(h1, h2, h3, i, j)
'Por.Dante Amor
h3.Rows(22 & ":" & 27).Copy h2.Rows(j)
'
h2.Cells(j, "B") = h1.Cells(i, "X") 'END CUSTOMER NAME
j = j + 1
h2.Cells(j, "B") = h1.Cells(i, "E") 'SHIP_TO_ADDRESS
j = j + 1
h2.Cells(j, "B") = h1.Cells(i, "AC") 'INVOICE TYPE
j = j + 1
h2.Cells(j, "B") = h1.Cells(i, "A") 'BILL_TO_CUSTOMER_NAME
j = j + 1
h2.Cells(j, "B") = h1.Cells(i, "B") 'BILL_TO_CUSTOMER_NUMBER
j = j + 1
h2.Cells(j, "B") = h1.Cells(i, "AD") 'BID
j = j + 1
End Sub
Si quieres más líneas en el pie, tienes que agregarla en la plantilla y en la macro modificar esta parte. cambié el 27 por 28
h3.Rows(22 & ":" & 28).Copy h2.Rows(j)
Y en el último contador, tienes que sumarle uno por cada línea que agregues:
j = j + 2
Saludos. Dante Amor