Prueba la siguiente macro.
Te pide que selecciones la carpeta donde tienes los archivos txt.
Selecciona la carpeta y presiona Aceptar.
La macro leerá los archivos txt y creará una hoja con la información de cada txt.
Sub importar_archivos()
'Por Dante Amor
Dim sPath As String, nombreArchivo As String, hoja As String
Dim sArch As Variant
Dim sh As Worksheet
'
With Application
.ScreenUpdating = False
.DisplayAlerts = False
With .FileDialog(msoFileDialogFolderPicker)
.Title = "Selecciona la carpeta donde tienes los txt"
If .Show <> -1 Then Exit Sub
sPath = .SelectedItems(1)
End With
End With
sArch = Dir(sPath & "\" & "*.txt")
'
Do While sArch <> ""
nombreArchivo = sPath & "\" & sArch
hoja = Left(sArch, Len(sArch) - 4)
On Error Resume Next: Sheets(hoja).Delete: On Error GoTo 0
'
Sheets.Add after:=Sheets(Sheets.Count)
Set sh = ActiveSheet
sh.Name = hoja
With sh.QueryTables.Add(Connection:="TEXT;" & _
nombreArchivo, Destination:=sh.Range("$B$5"))
.Name = "recibe_onda_" & hoja
.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 = 1: .TextFileParseType = xlFixedWidth
.TextFileTextQualifier = 1: .TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True: .TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False: .TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(14, 35, 20)
.TextFileTrailingMinusNumbers = True: .Refresh BackgroundQuery:=False
End With
sArch = Dir()
Loop
'
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Comparte los enlaces con alguien que desee conocer sobre Excel y Macros.
Sal u dos