Tengo la siguiente macro para convertir txt con columnas delimitadas por tabulaciones a xlsx. Para columnas con datos cortos en celdas ni problema hace muy bien la macro. Sin embargo, con celdas que tienen textos muy largos o tal vez algunos caracteres especiales, la macro tronca los datos y coloca incorrectamente alguna información en la columna A u otros lugares donde no corresponde. Verifique la foto, verifique el texto con círculos rojos, ese texto es de la fila anterior y se truncó y pasó allí en la columna A de la siguiente fila. Si arrastro y suelto manualmente (sin usar la macro), ese txt con columnas delimitadas por tabuladores en Excel se procesa muy bien sin importar la longitud de las celdas o los caracteres especiales. Si convierto con la macro como se ve en los círculos rojos, el texto está truncado en otras columnas/filas, no corresponde. Lo que se requeriría para arreglar el script y evitar que se trunque o destruya el texto como se ve en los círculos rojos.
Public Sub Read_TXT() Dim Dir_p As String, File_to_Open As String Dir_p = ActiveWorkbook.Path File_to_Open = Dir(Dir_p & "\") While File_to_Open <> "" If InStr(1, Right(File_to_Open, 3), "txt", vbTextCompare) <> 0 Then Workbooks.OpenText fileName:=Dir_p & "\" & File_to_Open, _ Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ Comma:=False, Space:=False, Other:=False, _ TrailingMinusNumbers:=True ActiveWorkbook.SaveAs fileName:=Dir_p & "\" & Left(File_to_Open, Len(File_to_Open) - 3) & "xlsx" _ , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ActiveWorkbook.Close End If File_to_Open = Dir Wend End SubGracias