crear archivo txt desde datos filtrados

ymoran

New Member
Joined
Jul 19, 2022
Messages
4
Office Version
  1. 2016
Platform
  1. Windows
Quisiera crear archivo txt con datos que cumplen condición de ser diferentes de cero, los datos estan en la culumna H,P,X,AF. Depen
iendo si hay datos copiar datos de las columnas anteriores G,O,W,AE , para crear archivo txt con nombre en la celda G6
 

Attachments

  • txt.JPG
    txt.JPG
    212.4 KB · Views: 21

Excel Facts

Whats the difference between CONCAT and CONCATENATE?
The newer CONCAT function can reference a range of cells. =CONCATENATE(A1,A2,A3,A4,A5) becomes =CONCAT(A1:A5)
Hola y bienvenido a MrExcel!

Desafortunadamente tu imagen no es clara, ya que no se ven ni las filas ni las columnas de excel.

Exactamente qué información quieres en el txt y cómo la quieres. Podrías poner una imagen del archivo txt para ver cómo quieres el resultado.

NOTA XL2BB:
Para el futuro, sería de gran ayuda si pudiera proporcionarnos los datos de muestra en un formato que podamos copiar para probar, en lugar de una imagen.
MrExcel tiene una herramienta llamada "XL2BB" que le permite publicar muestras de sus datos que nos permitirán copiarlos y pegarlos en nuestras hojas de cálculo de Excel, para que podamos trabajar con la misma copia de datos que usted. Las instrucciones sobre el uso de esta herramienta se pueden encontrar aquí: Complemento XL2BB
Tenga en cuenta que también hay un foro "Probar aquí" en este foro. Este es un lugar donde puede probar el uso de esta herramienta (o cualquier otra técnica de publicación que desee probar) antes de intentar usar esas herramientas en sus publicaciones reales.
 
Upvote 0
Buenos días, Dante
soy nuevo en esta plataforma, tal vez esta imagen sea mas util tengo una hoja de calculo en donde hay varias columnas con el encabezado de nombre "datos"(H11,P11,X11,AF11,......) y quisiera crear un archivo plano txt con los datos de la columna con el encabezado de nombre "CLAVE"(G11,O11,W11,AE11,....) siempre que en la columna de datos hay importes diferentes de cero.
REMUNERACIÓN BÁSICAASIGNACIÓN FAMILIARPRIMERAS 2 HORAS EXTRASA PARTIR DE LA 3 HR EXTRA
ordenTipo de documento del trabajadorNúmero de documento del trabajadorCódigo de concepto remunerativo y/o no remunerativoMonto devengadoMonto pagado/descontadoCLAVEdatosTipo de documento del trabajadorNúmero de documento del trabajadorCódigo de concepto remunerativo y/o no remunerativoMonto devengadoMonto pagado/descontadoCLAVEdatosTipo de documento del trabajadorNúmero de documento del trabajadorCódigo de concepto remunerativo y/o no remunerativoMonto devengadoMonto pagado/descontadoCLAVEdatosTipo de documento del trabajadorNúmero de documento del trabajadorCódigo de concepto remunerativo y/o no remunerativoMonto devengadoMonto pagado/descontadoCLAVEdatos
1​
01
42130049​
0121
1953.17​
1953.17​
01|42130049|0121|1953.17|1953.17|1,953.1701421300490201
102.50​
102.50​
01|42130049|0201|102.5|102.5|102.500142130049010501|42130049|0105| | |-0142130049010601|42130049|0106| | |-
2​
01
71314790​
0121
3733.33​
3733.33​
01|71314790|0121|3733.33|3733.33|3.733,330171314790020101|71314790|0201| | |-0171314790010501|71314790|0105| | |-0171314790010601|71314790|0106| | |-
3​
01
71093689​
0121
1866.67​
1866.67​
01|71093689|0121|1866.67|1866.67|1,866.670171093689020101|71093689|0201| | |-0171093689010501|71093689|0105| | |-0171093689010601|71093689|0106| | |-
4​
01
72041103​
0121
1120.00​
1120.00​
01|72041103|0121|1120|1120|1,120.000172041103020101|72041103|0201| | |-0172041103010501|72041103|0105| | |-0172041103010601|72041103|0106| | |-
5​
01
41037512​
0121
1953.17​
1953.17​
01|41037512|0121|1953.17|1953.17|1,953.1701410375120201
102.50​
102.50​
01|41037512|0201|102.5|102.5|102.500141037512010501|41037512|0105| | |-0141037512010601|41037512|0106| | |-
6​
01
80040518​
0121
1766.50​
1766.50​
01|80040518|0121|1766.5|1766.5|1,766.5001800405180201
102.50​
102.50​
01|80040518|0201|102.5|102.5|102.500180040518010501|80040518|0105| | |-0180040518010601|80040518|0106| | |-
7​
040011285360121
2886.50​
2886.50​
04|001128536|0121|2886.5|2886.5|2,886.50040011285360201
102.50​
102.50​
04|001128536|0201|102.5|102.5|102.5004001128536010504|001128536|0105| | |-04001128536010604|001128536|0106| | |-
8​
01
45159846​
0121
1953.17​
1953.17​
01|45159846|0121|1953.17|1953.17|1,953.1701451598460201
102.50​
102.50​
01|45159846|0201|102.5|102.5|102.500145159846010501|45159846|0105| | |-0145159846010601|45159846|0106| | |-
9​
01
71969924​
0121
1393.17​
1393.17​
01|71969924|0121|1393.17|1393.17|1,393.1701719699240201
102.50​
102.50​
01|71969924|0201|102.5|102.5|102.500171969924010501|71969924|0105| | |-0171969924010601|71969924|0106| | |-
10​
01
42173233​
0121
1019.83​
1019.83​
01|42173233|0121|1019.83|1019.83|1,019.8301421732330201
102.50​
102.50​
01|42173233|0201|102.5|102.5|102.500142173233010501|42173233|0105| | |-0142173233010601|42173233|0106| | |-
11​
01
43040676​
0121
1953.17​
1953.17​
01|43040676|0121|1953.17|1953.17|1,953.1701430406760201
102.50​
102.50​
01|43040676|0201|102.5|102.5|102.500143040676010501|43040676|0105| | |-0143040676010601|43040676|0106| | |-
12​
01
45596686​
0121
1673.17​
1673.17​
01|45596686|0121|1673.17|1673.17|1.673,1701455966860201
102.50​
102.50​
01|45596686|0201|102.5|102.5|102.500145596686010501|45596686|0105| | |-0145596686010601|45596686|0106| | |-
23.271,85922.50--
 
Upvote 0
(H11,P11,X11,AF11,......)


Te refieres a que los encabezados están en las celdas H11, P11...

crear un archivo plano txt
Según tu ejemplo, cómo debería quedar el archivo txt.

Puedes compartir tu archivo de excel y tu archivo txt en google drive. Es importante ver cómo quieres tu archivo txt, es por eso que te lo estoy pidiendo; y ese archivo txt debe ser coincidente con tu ejemplo de excel.

---------
Para futuras consultas, revisa el complemento XL2BB, de esa manera es más fácil poder ayudarte.
 
Upvote 0
Buenas Dante,
te comparto el enlace para que veas como queda la trama del archivo .txt
 
Upvote 0
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
 
Upvote 0
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
Buenos días Dante,
se ejecuto de manera correcta, muchas gracias por tu ayuda.
 
Upvote 0

Forum statistics

Threads
1,223,929
Messages
6,175,448
Members
452,642
Latest member
acarrigan

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top