Exportar Excel a TXT con Ancho de Columna Fijo

Solicito su ayuda para poder realizar la exportación de valores de Excel a TXT con columnas de ancho fijo. Tengo un archivo TXT el cual he logrado importar con éxito a Excel, con el fin de poder editarlo de manera más práctica y luego devolverlo a formato TXT, pero no he conseguido hacerlo y mis conocimientos de Visual son muy pocos.

1 respuesta

Respuesta
1

Si estableces el ancho de columna en el número de caracteres que necesitas, la primer columna de ancho 10, la segunda de ancho 1, la tercera de ancho 15, etc, y guardas la hoja como: Texto con formato (delimitado por espacios)

No importa que la celda esté vacía o que los caracteres que tiene la celda no tengan la longitud de la columna, con ese formato te va a guardar el archivo txt, la primera columna con 10, la segunda con 1, la tercera con 15, etc.

Prueba y me comentas.

S a l u d o s . D a n t e   A m o r

Si es lo que necesitas. recuerda valorar la r e s p u e s t a.


Si necesitas la macro, te anexo una macro, deberás cambiar en la macro el ancho de columnas que requieres para cada columna a exporta a Txt:

'columnas         A   B  C   D  E    F   G   H  I   J  K  L   M   N   O    P   Q
cols = Array(0, 10, 1, 10, 1, 27, 27, 27, 2, 8, 2, 5, 40, 15, 15, 50, 30, 4)

Sub GuardarTxt()
'Por.Dante Amor
    FileNum = FreeFile()
    ruta = ThisWorkbook.Path & "\"
    Open ruta & "archivo.txt" For Output As #FileNum
    '
    'columnas       A   B  C   D  E   F   G   H  I  J  K  L   M   N   O   P   Q
    cols = Array(0, 10, 1, 10, 1, 27, 27, 27, 2, 8, 2, 5, 40, 15, 15, 50, 30, 4)
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        For j = 1 To Columns("Q").Column
            dato = Cells(i, j)
            For k = 1 To cols(j)
                car = Mid(dato, k, 1)
                If car = "" Then car = " "
                Print #FileNum, car;
            Next
        Next
        Print #FileNum,
    Next
    Close #FileNum
    '
    MsgBox "El TXT fue guardado en la ruta: " & ruta
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: GuardarTxt
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.


S a l u d o s . D a n t e   A m o r. Recuerda valorar la respuesta.

¡Gracias! asignando el ancho de columna no lo había conseguido, con el código funcionó bien aparentemente, lo reviso y comento! Muchas gracias por la prontitud en la Respuesta!!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas