Macro para leer archivos de excel de ancho fijo
Estoy comenzando con macros de excel, y quería obtener los datos de un archivo txt de ancho fijo, este es el código que tengo:
Sub Import_TXT_Anchofijo()
Dim Filtro As String
Dim nFichero As Integer
Dim sCadena As Variant
Dim i As Double
nFichero = FreeFile
Filtro = " TXT(*.TXT),"
txt = Application.GetOpenFilename(Filtro)
If txt <> Empty Then
Open txt For Input As nFichero
i = 0
Do While Not EOF(nFichero)
Line Input #nFichero, datos
i = i + 1
sCadena = datos
otro = ActiveWorkbook.Name
Range("a1:a" & Range("a65000").End(xlUp).Row).Copy
With Sheets(1)
.Cells(i, 1) = Trim(Mid(sCadena, 1, 27))
.Cells(i, 2) = Trim(Mid(sCadena, 62, 66))
.Cells(i, 3) = Trim(Mid(sCadena, 87, 101))
.Cells(i, 4) = Trim(Mid(sCadena, 106, 112))
.Cells(i, 5) = Trim(Mid(sCadena, 119, 124))
.Cells(i, 6) = Trim(Mid(sCadena, 131, 132))
End With
Loop
Close nFichero
End If
End Sub
Sin embargo al correrlo solo me toma la primera fila del txt.