Macro para pasar de excel a txt según largo campos

Tengo un excel con 3 columnas
De datos numéricos
Preciso que cada columna en el txt tenga respectivamente un largo determinado 12, 4, 16.
El tema es que se complementan con espacios hasta completar el largo del campo a la derecha del numero
Por ej. En el caso de la columna 1 tengo el número 10, el txt sería "10 ",
Es todo una cadena de texto del txt, es decir, no hay comas ni nada emtre los datos que los separe.
Como haría para generar un txt desde el excel de 3 columnas ¿?
Muchas gracias
Emanuel J.-

1 Respuesta

Respuesta
1
Utiza esta rutina :
Sub ExpTXT()
    ultimaFila = Cells(65536, 1).End(xlUp).Row
    Open "Datos.txt" For Output As #1
    For a = 1 To ultimaFila
        Dato1 = Range("A1").Offset(a - 1, 0) & Space(12 - Len(Range("A1").Offset(a - 1, 0)))
        Dato2 = Range("A1").Offset(a - 1, 1) & Space(4 - Len(Range("A1").Offset(a - 1, 1)))
        Dato3 = Range("A1").Offset(a - 1, 2) & Space(16 - Len(Range("A1").Offset(a - 1, 2)))
        Print #1, Dato1; Dato2; Dato3
    Next a
    Close
End Sub
Coloca la rutina que te estoy enviando en un módulo de Visual Basic. ¿Cómo?
     * Abre el Edditor de Visual Basic Alt-F11
     * En el Menú de Opciones, haz click en el Menu Insertar y luego selecciona Módulo.
     *En el módulo que aparece, copia el código desde la línea "Sub ExpTXT()" hasta la línea "End Sub"
     * Cierra el Editor de Visual Basic
Ahora ejecuta la macro así :
     * Alt-F8 - selecciona 'ExpTXT' - Ejecutar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas