Importar TXT ancho fijo a Excel varios archivos
Escribo solicitando apoyo en cuanto a una macro que me pueda ayudar a importar Varios archivos TXT a un Excel y este se tiene que delimitar por una distancia fija que se selecciona con las flechas en el recuadro las distancias del archivo son 35, 105, 129, 150, 170 y 200 que al generarlo crea 7 columnas, e esta importación luego tengo que replicarla unas 200 veces mas con históricos de años anteriores.
Estoy usando una macro creada por el amigo Dante Amor la cual es la siguiente :
Sub Macro2()
'Por Dante Amor
'Importar Archivo txt
'
Application.ScreenUpdating = False
Set l1 = ThisWorkbook
Set h1 = Sheets("Hoja7") 'nombre de la hoja donde se va a importar
ruta = "c:\trabajo\" 'carpeta
ruta = "C:\Users\grhcrl.FLORESTA\Desktop\FAOV\NOMINAS QUINCENALES EMPLEADOS\JUNIO\"
'
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
' If Dir(ruta & arch) = "" Then
' MsgBox "No existe el archivo"
' Exit Sub
' End If
arch = Dir(ruta & "*.txt") 'nombre del archivo
'
Do While arch <> ""
Workbooks.OpenText _
Filename:=ruta & arch, _
Origin:=xlWindows, StartRow:=1, DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(35, 1), Array(100, 1), Array(129, 1), _
Array(150, 1), Array(170, 1), Array(200, 1)), TrailingMinusNumbers:=True
Set l2 = ActiveWorkbook
Set h2 = l2.Sheets(1)
u1 = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
h2.Rows("1:" & u2).Copy h1.Range("A" & u1)
l2.Close False
arch = Dir()
Loop
Application.ScreenUpdating = True
MsgBox "Arhivo importado"
End Subesta macro me extrae los txt de la forma que necesito, solo que agrupa todos los txt de la ruta en la misma hoja y necesito que cada txt se genere en una hoja diferente del libro cambiando el nombre al que posee el txt
1 Respuesta
Respuesta de Dante Amor
1
