Cargar un listbox con los libros.xlsm de una carpeta.

Tengo una carpeta (Libros) en el escritorio y dentro de esta varios libros con la extensión xlsm. También tengo un formulario con un listbox (ListBox1) . Lo que necesito es que cuando se inicie el formulario automáticamente cargue todos los libros en el ListBox.

2 respuestas

Respuesta
3

Te paso la macro que solicitas. Debes ajustar estos detalles:

- La ruta de tu escritorio.

- El nombre de tu control Lista. En mi ejemplo es ListBox1.

Private Sub UserForm_Initialize()
'x Elsamatilde. Extraída del manual 500Macros+365, cap.17.7
Dim Archi        'el nombre de cada archivo encontrado
Dim Dire  As String      'el directorio a revisar
'la ruta de la carpeta
Dire = "C:\Users\LENOVO\Desktop\Libros"     'AJUSTAR RUTA
'se crea la referencia al objeto Filesystem   
On Error GoTo sinRuta
With CreateObject("scripting.filesystemobject")   'ver NOTA
    With .GetFolder(Dire)
    'se recorre el conjunto de archivos encontrados
    For Each Archi In .Files
        If Right(Archi.Name, 4) = "xlsm" Then ListBox1.AddItem Archi.Name
    Next Archi
    End With
End With
Exit Sub
sinRuta:
MsgBox "No se encontró la ruta indicada para la carpeta."
End Sub

NOTA:  en versiones anteriores se utilizaba el objeto FileSearchSystem. Si la macro te da error en esta línea reemplaza el nombre del objeto por éste.

Respuesta
1

Revisa este vídeo, ahí explico como cargar archivos en un listbox

Userform actualizar estatus de archivos - YouTube

En la descripción del vídeo encuentras el código para que lo copies y lo actualices a tus dato.


Vista:


Sal u dos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas