REMUNERACIÓN BÁSICA | ASIGNACIÓN FAMILIAR | PRIMERAS 2 HORAS EXTRAS | A PARTIR DE LA 3 HR EXTRA | ||||||||||||||||||||||||||||
orden | Tipo de documento del trabajador | Número de documento del trabajador | Código de concepto remunerativo y/o no remunerativo | Monto devengado | Monto pagado/descontado | CLAVE | datos | Tipo de documento del trabajador | Número de documento del trabajador | Código de concepto remunerativo y/o no remunerativo | Monto devengado | Monto pagado/descontado | CLAVE | datos | Tipo de documento del trabajador | Número de documento del trabajador | Código de concepto remunerativo y/o no remunerativo | Monto devengado | Monto pagado/descontado | CLAVE | datos | Tipo de documento del trabajador | Número de documento del trabajador | Código de concepto remunerativo y/o no remunerativo | Monto devengado | Monto pagado/descontado | CLAVE | datos | |||
1 | 01 | 42130049 | 0121 | 1953.17 | 1953.17 | 01|42130049|0121|1953.17|1953.17| | 1,953.17 | 01 | 42130049 | 0201 | 102.50 | 102.50 | 01|42130049|0201|102.5|102.5| | 102.50 | 01 | 42130049 | 0105 | 01|42130049|0105| | | | - | 01 | 42130049 | 0106 | 01|42130049|0106| | | | - | |||||||
2 | 01 | 71314790 | 0121 | 3733.33 | 3733.33 | 01|71314790|0121|3733.33|3733.33| | 3.733,33 | 01 | 71314790 | 0201 | 01|71314790|0201| | | | - | 01 | 71314790 | 0105 | 01|71314790|0105| | | | - | 01 | 71314790 | 0106 | 01|71314790|0106| | | | - | |||||||||
3 | 01 | 71093689 | 0121 | 1866.67 | 1866.67 | 01|71093689|0121|1866.67|1866.67| | 1,866.67 | 01 | 71093689 | 0201 | 01|71093689|0201| | | | - | 01 | 71093689 | 0105 | 01|71093689|0105| | | | - | 01 | 71093689 | 0106 | 01|71093689|0106| | | | - | |||||||||
4 | 01 | 72041103 | 0121 | 1120.00 | 1120.00 | 01|72041103|0121|1120|1120| | 1,120.00 | 01 | 72041103 | 0201 | 01|72041103|0201| | | | - | 01 | 72041103 | 0105 | 01|72041103|0105| | | | - | 01 | 72041103 | 0106 | 01|72041103|0106| | | | - | |||||||||
5 | 01 | 41037512 | 0121 | 1953.17 | 1953.17 | 01|41037512|0121|1953.17|1953.17| | 1,953.17 | 01 | 41037512 | 0201 | 102.50 | 102.50 | 01|41037512|0201|102.5|102.5| | 102.50 | 01 | 41037512 | 0105 | 01|41037512|0105| | | | - | 01 | 41037512 | 0106 | 01|41037512|0106| | | | - | |||||||
6 | 01 | 80040518 | 0121 | 1766.50 | 1766.50 | 01|80040518|0121|1766.5|1766.5| | 1,766.50 | 01 | 80040518 | 0201 | 102.50 | 102.50 | 01|80040518|0201|102.5|102.5| | 102.50 | 01 | 80040518 | 0105 | 01|80040518|0105| | | | - | 01 | 80040518 | 0106 | 01|80040518|0106| | | | - | |||||||
7 | 04 | 001128536 | 0121 | 2886.50 | 2886.50 | 04|001128536|0121|2886.5|2886.5| | 2,886.50 | 04 | 001128536 | 0201 | 102.50 | 102.50 | 04|001128536|0201|102.5|102.5| | 102.50 | 04 | 001128536 | 0105 | 04|001128536|0105| | | | - | 04 | 001128536 | 0106 | 04|001128536|0106| | | | - | |||||||
8 | 01 | 45159846 | 0121 | 1953.17 | 1953.17 | 01|45159846|0121|1953.17|1953.17| | 1,953.17 | 01 | 45159846 | 0201 | 102.50 | 102.50 | 01|45159846|0201|102.5|102.5| | 102.50 | 01 | 45159846 | 0105 | 01|45159846|0105| | | | - | 01 | 45159846 | 0106 | 01|45159846|0106| | | | - | |||||||
9 | 01 | 71969924 | 0121 | 1393.17 | 1393.17 | 01|71969924|0121|1393.17|1393.17| | 1,393.17 | 01 | 71969924 | 0201 | 102.50 | 102.50 | 01|71969924|0201|102.5|102.5| | 102.50 | 01 | 71969924 | 0105 | 01|71969924|0105| | | | - | 01 | 71969924 | 0106 | 01|71969924|0106| | | | - | |||||||
10 | 01 | 42173233 | 0121 | 1019.83 | 1019.83 | 01|42173233|0121|1019.83|1019.83| | 1,019.83 | 01 | 42173233 | 0201 | 102.50 | 102.50 | 01|42173233|0201|102.5|102.5| | 102.50 | 01 | 42173233 | 0105 | 01|42173233|0105| | | | - | 01 | 42173233 | 0106 | 01|42173233|0106| | | | - | |||||||
11 | 01 | 43040676 | 0121 | 1953.17 | 1953.17 | 01|43040676|0121|1953.17|1953.17| | 1,953.17 | 01 | 43040676 | 0201 | 102.50 | 102.50 | 01|43040676|0201|102.5|102.5| | 102.50 | 01 | 43040676 | 0105 | 01|43040676|0105| | | | - | 01 | 43040676 | 0106 | 01|43040676|0106| | | | - | |||||||
12 | 01 | 45596686 | 0121 | 1673.17 | 1673.17 | 01|45596686|0121|1673.17|1673.17| | 1.673,17 | 01 | 45596686 | 0201 | 102.50 | 102.50 | 01|45596686|0201|102.5|102.5| | 102.50 | 01 | 45596686 | 0105 | 01|45596686|0105| | | | - | 01 | 45596686 | 0106 | 01|45596686|0106| | | | - | |||||||
23.271,85 | 922.50 | - | - |
(H11,P11,X11,AF11,......)
Según tu ejemplo, cómo debería quedar el archivo txt.crear un archivo plano txt
Sub CrearArchivoTxt()
Dim a As Variant
Dim i As Long, j As Long, lr As Long, lc As Long
'nombre del archivo txt
Open ThisWorkbook.Path & "\" & Range("K6").Value & ".txt" For Output As #1
lr = Range("G" & Rows.Count).End(3).Row
lc = Cells(11, Columns.Count).End(1).Column
a = Range("A12", Cells(lr, lc)).Value
For j = 8 To UBound(a, 2) Step 8
For i = 1 To UBound(a, 1)
If a(i, j) <> 0 Then
Print #1, a(i, j - 1)
End If
Next i
Next
Close #1
MsgBox "Fin"
End Sub
Buenos días Dante,Hola, te comparto la macro.
Ante de ejecutar la macro debes corregir un error que tienes en tu hoja de excel. En la columna FN tienes una columna extra, elimina esa columna, para que todas las secciones sean homogéneas.
El archivo txt se guardará en la misma carpeta donde tengas el archivo con la macro. El nombre del archivo txt lo toma de la celda K6
Prueba lo siguiente:
VBA Code:Sub CrearArchivoTxt() Dim a As Variant Dim i As Long, j As Long, lr As Long, lc As Long 'nombre del archivo txt Open ThisWorkbook.Path & "\" & Range("K6").Value & ".txt" For Output As #1 lr = Range("G" & Rows.Count).End(3).Row lc = Cells(11, Columns.Count).End(1).Column a = Range("A12", Cells(lr, lc)).Value For j = 8 To UBound(a, 2) Step 8 For i = 1 To UBound(a, 1) If a(i, j) <> 0 Then Print #1, a(i, j - 1) End If Next i Next Close #1 MsgBox "Fin" End Sub