Cargar todos los txt de una carpeta a listbox

Estoy trabajando en un proyecto y me gustaría cargar todos los archivos txt de una carpeta a un listbox.

1

1 respuesta

Respuesta
1

Pon el siguiente código en un botón de tu userform

Private Sub CommandButton1_Click()
'   Por Dante Amor
'
'   Cargar todos los txt de una carpeta a listbox
'
    ruta = "C:\trabajo\txt\"
    If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
    arch = Dir(ruta & "*.txt")
    Do While arch <> ""
        ListBox1.AddItem arch
        arch = Dir()
    Loop
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Hola Dante. Mil disculpa funciona correctamente.
Pero lo que yo necesito es que en el listbox cargue el contenido de cada archivo txt de la carpeta  

Y si tienes 10 archivos quieres que cargue el contenido de los 10 archivos, ¿uno seguido de otro?

Y si tienes 10 archivos quieres que cargue el contenido de los 10 archivos, ¿uno seguido de otro?

Si es así.

Prueba con la siguiente macro

Private Sub CommandButton1_Click()
'   Por Dante Amor
'
'   Cargar el contenido de todos los txt de una carpeta a listbox
'
    Application.ScreenUpdating = False
    ruta = "C:\trabajo\txt\"
    If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
    arch = Dir(ruta & "*.txt")
    Do While arch <> ""
        Workbooks.OpenText Filename:=ruta & arch, Origin:=xlMSDOS, _
            StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False, _
            Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
            TrailingMinusNumbers:=True
        Set l2 = ActiveWorkbook
        ListBox1.AddItem arch
        For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
            ListBox1.AddItem Left(Cells(i, "A"), 2047)
        Next
        l2.Close False
        'ListBox1.AddItem arch
        arch = Dir()
    Loop
End Sub

En esta línea de la macro se pone el nombre del archivo, si no quieres que se ponga el nombre entonces borra la línea:

 ListBox1. AddItem arch

No olvides valorar la respuesta. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas