Convertir txt a excel y que me pida donde esta el archivo de texto

Puede ayudarme con la conversión de un txt a excel grabando una macro se puede pero ocupa demasiados recursos existirá una forma más eficiente

Adjunto archivos si es posible tu ayuda

De antemano muchas gracias

1 Respuesta

Respuesta
1

Dadas las ¿14? Filas iniciales, como para brindarte una mejor respuesta ¿será posible que compartas con nosotros al menos una rchivo, o parte? Y segundo ¿el formato final lo quieres como *xlsx? ¿Así es?

Salu2

Abraham Valencia

Hola

Donde puedo subir el archivo

Y el resultado si es en xlsx y si es posible que convierta sin los títulos mejor aun

Desde la celda a10

Saludos

Puedes usar OneDrive o Google Drive o DropBox o etc. Por cierto, la macro que pasaba a Excel desde la fila 14 hasta el final, incluyendo todas las columnas, y que te envié en otra conversación ¿por qué no la usas? Cuestión de ponerle al final un "WorkBook.Save..." y ya

Abraham Valencia

O toda la razón

Pero el problema es :

Adjunto archivos y como debería quedar

https://drive.google.com/open?id=1_luBM_i6d00X4lDV2RgEpMgB7R-s6GXl 

La macro que elaboré porque teóricamente tu archivo *.txt estaba dividido por "tab"s pero no es así, está dividido por espacios, aunque propiamente dicho lo que ha hecho el programa que creo ese, o esos, archivo(s) es asignarle un número de columna fija con lo que, en realidad, bastaría usar Microsoft Query, a través de VBA, para poder extraer dicha información, ah, claro, puede hacerse eso desde cualquier archivo *.txt de esos, siempre y cuando realmente todos tengan los campos en las columnas supuestas.

Sub ProcesoTXT()
Dim NombreArchivo As String
NombreArchivo = Application.GetOpenFilename()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & NombreArchivo, Destination:=Range("$A$1"))
        .Name = "Mis datos"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 14
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(23, 20, 32, 32, 32, 36, 6, 14, 14, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

Ah, claro, esos parámetros de las columnas lo he hecho basado en tu ejemplo de *.txt, si tus otros archivos tienen más columnas, vas a tener que adaptarlo.  Prueba y comentas

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas