Cómo concentrar varios archivos txt en excel

Necesito una macro para concentrar los txt de una carpeta a un archivo Excel, toda la información debe estar en la misma hoja.

Los datos están separados por pipes, y cada campo debe ir en una columna.

1 respuesta

Respuesta
2

H o l a:

Te anexo la macro.

Cambia en la macro "C:\trabajo\ejemplo\" por la ruta en donde tienes tus archivos txt.

La macro te creará una hoja nueva en el libro donde tienes la macro y ahí te pondrá el concentrado.

Sub ConcentrarTxt()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    ruta = "C:\trabajo\ejemplo\"
    '
    If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
    '
    arch = Dir(ruta & "*.txt")
    Set h1 = l1.Sheets.Add
    Do While arch <> ""
        Workbooks.OpenText Filename:=ruta & arch, _
            Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
            ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False, _
            Space:=False, Other:=True, OtherChar:="|"
        Set l2 = ActiveWorkbook
        Set h2 = l2.Sheets(1)
        u = h2.UsedRange.Rows(h2.UsedRange.Rows.Count).Row
        j = h1.UsedRange.Rows(h1.UsedRange.Rows.Count).Row + 1
        h2.Rows("1:" & u).Copy h1.Range("A" & j)
        l2.Close
        arch = Dir()
    Loop
    Application.ScreenUpdating = True
    MsgBox "Archivos concentrados"
End Sub

¡Gracias! Me funcionó muy bien 

H o l a:

R ecuerda cambiar la valoración a la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas