Saltar al contenido

Exportación excel por posiciones en txt


Recommended Posts

publicado

Buenas a todos,

Soy nuevo al foro, y un usuario "medio" de excel.

Llevo unos días intentando vía formulas encontrar la manera de realizar una exportación por posiciones. Navegando he encontrado que lo mejor es via una macro pero no encuentro la forma de resolverlo ya que es necesario de un usuario avanzado en tema macros.

1. El tema en ejemplo es, tengo que exportar diferentes excels por posición así:

Cuenta   Saldo

100       3005,50

2121      -646,94

...

a un txt con esto:

2. Posición  Longitud   

1               12             Cuenta

13             11           Saldos positivos: 9 enteros + 2 decimales  Saldos negativos: N+8enteros+2 decimales

3. Y .. el txt que me tendría que salir cada vez que exporta sería esto en este caso: 

100         00000300550    (12 longitud 100 + espacios   / 11 longitud en saldo)

2121      N0000064694

....

Pues esto sería lo que debería conseguir con formulas, o macros o nose... alguien me puede guiar? 

Mil gracias

 


-

publicado

Esta macro hace lo que pides, o eso creo.

Se supone que tus datos estén en el rango A:B y tienen una fila de encabezamieno.

Sub CrearArchivoTXT()
Dim Cuenta, Saldo, Signo, Valor, x
'--
Open ThisWorkbook.Path & "\Archivo.txt" For Output As #1
For x = 2 To Range("A" & Rows.Count).End(xlUp).Row
   Cuenta = CStr(Range("A" & x))
   Cuenta = Cuenta & String(12 - Len(Cuenta), " ")
   Signo = "0"
   Valor = Range("B" & x)
   If Valor < 0 Then
      Signo = "N"
      Valor = Valor * -1
   End If
   Saldo = Signo & Replace(Format(Valor, "00000000.00"), _
                        Application.DecimalSeparator, "")
   Print #1, Cuenta & Saldo
Next
Close #1
End Sub

 

publicado

Buenas Antoni!

Pues va a las mil maravillas por las pruebas que he realizado. Muchísimas gracias!!!!

Lo que para cambiar la dirección donde guarda el archivo, entiendo que en la parte \Archivo.txt tengo que modificar la ruta?

Saludos

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.