De excel a txt con macro

Ojala me pudieras ayudar con est problemilla:
Tengo un archivo excel con una hoja que esta compuesta por las siguiente información:
En la columna 1: Año
En la columna 2: Mes
En la columna 3: Día
En la columna 4: Hora
En la columna 5: Dirección de vientos
En la columna 6: velocidad de vientos
En la columna 7: Temperatura ambiente
En la columna 8: Clase de estabilidad
En la columna 9: Altura de mezclado rural
En la columna 10: Altura de mezclado urbano
En la columna 11: Exponentes del perfil eólico
En la columna 12: Gradiente térmico potencial vertical
Esta información la debo pasar a una hoja de texto para que me sirva como archivo de entrada para otro software.
El formato de la hoja de texto o el orden de las columnas en dicha hoja debe ser obligatoriamente la siguiente:
Columnas 1-2: Año
Columnas 3-4: Mes
Columnas 5-6: Día
Columnas 7-8: Hora
Columnas 9-17: Dirección de vientos
Columnas 18-26: Velocidad de vientos
Columnas 27-32: Temperatura ambiente
Columnas 33-34: clases de estabilidad
Columnas 35-41: altura de mezclado rural
Columnas 42-48: altura de mezclado urbano
columnas 49-56: Exponente del perfil eólico
columnas 57-65: Gradiente termicopotencial vertical
Primero que todo me gustaría saber si es posible realizar lo mencionado anteriormente mediante una macro, debido a que cada columna de la hoja excel contiene más de 80.000 registros, que corresponden a mediciones meteorológicas por cada hora de un año xx.
Debo recalcar que el orden en la hoja de texto es obligatorio ya que si no es así el software no se ejecutara correctamente.
Cualquier ayuda sera bienvenida

2 Respuestas

Respuesta
1
Yo creo que si se puede hacer lo que quieres solo que no me quedan claro algunos puntos como por ejemplo:
1. Con qué deben ir separadas las columnas en el texto ya que hay separación por: comas, tabulaciones, pipes, etc. especifícame qué tipo de separador usa tu software.
2. Cuando dices por ejemplo: columna 1-2 año, te refieres a que en las columnas 1 y 2 debe repetirse el año en las columnas 1 y 2, ¿y otro ejemplo colmnas 9 - 17 quiere decir que debe repetirse en el mismo dato en todas esas columnas?
3. ¿El acomodo de las columnas siempre es el mismo? Ya que así va a correr la macro en referencia con ese número de columnas.
4. Me podrías mandar un archivo con algunos datos de ejemplo para trabajar sobre datos reales. Mi correo es [email protected]
Gracias por contestar a mi inquietud
Te respondo en el mismo orden:
1. No debe ir ninguna separación entre las columnas.
2. En cuanto a la información en la hoja de texto, la columna 1-2 se refiere a que el año debe ser ingresado con dos caracteres, es decir para el año 1998 debería ir 98. Para el caso columna 9-17 de ingresarse un valor de dirección de vientos con un máximo de 9 caracteres es decir, 270.00000. En este ultimo ejemplo la columna 9 seria el numero 2, la columna 10 seria el valor 7, la columna 11 seria el valor 0, la lolumna 12 seria el valor., así sucesivamente.
3. Claro el orden y la ubicación siempre serán los mismos.
4. Te envío lo solicitado
Muchas gracias por las ganas de ayudarme
Te envié el archivo a tu correo, espero te sirva por favor no olvides calificar y cerrar la pregunta.
Gracias experto por tu ayuda, me ha sido de gran utilidad
adjunto la macro entregada por el experto por si alguien la necesita:
Sub generar_texto()
    Application.ScreenUpdating = False
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Workbooks.Add
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    nbre = InputBox("Nombre del archivo")
    ruta = "C:\Descargas"
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=ruta & "\" & nbre & ".txt", _
        FileFormat:=xlText, CreateBackup:=False
    ActiveWorkbook.Close
    Application.ScreenUpdating = True
    MsgBox ("Archivo generado exitosamente")
End Sub
Respuesta

Soy nuevo acá... he estado mirando ejemplos y ante todo no quiero dejar pasar la oportunidad de agradecerles y felicitarles a los miembros de la página todoexpertos por su predisposición de ayudar a los demás :)

De paso aprovecho seguir esta corriente sobre de excel a txt con macro, yo estoy trabado ahí.
Tengo un archivo y la hoja titula "ARCHIVO DE DECLARACIÓN", lo que estoy necesitando es por ej una tabla:
Col      Y                Z                 AA

Fila 2: Valor 19    Valor 20    Sucursal
Fila 3: 0                 0                 1A072
Fila 4: 0                 0                 3A072
Quiero intentar exportar a txt a través de código VBA y que el nombre que vaya a almacenar lo tome del titulo Sucursal de la Columna "AA" por ej empezando por 1A solamente de Fila2 a Fila3 luego exportar otro txt por separado para la Sucursal 3A es decir solamente de Fila2 y Fila4, así sucesivamente creando diferentes txt por Sucursal, ¿me explico?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas