Crear validación tipo lista con nombres de archivos de excel contenidos en una carpeta

Buenos días expertos necesito saber como validar datos de una lista con nombres de archivos que se encuentren en una carpeta seleccionada, Dichos archivos se pueden borrar o agregar más. Esto para hacer referencia a dicho libro.

Muchas gracias por todo espero puedan ayudaarme

1 Respuesta

Respuesta
1

Lo que pides se puede lograr con una macro, te puedo hacer la macro, pero antes explícame lo siguiente:

1. ¿Quieres qué en una celda te aparezca la lista de todos los archivos que están en una carpeta?

2. ¿La carpeta en donde están los archivos la piensas poner en alguna celda?

3. Se deben elegir todos los archivos de la carpeta o solamente los de excel (extensión xls*)

4. Quieres que los nombres de los archivos, además de aparecer en la lista, también aparezcan en alguna columna, ¿en alguna hoja de tu archivo de excel?

5. En qué momento quieres que se llene la lista de archivos, ¿cuándo presiones un botón? ¿Cuándo abras tu archivo de excel?

6. ¿La lista solamente la quieres para que en esa celda selecciones un nombre?

Hola Dante, muchas gracias por tu pronta respuesta, te respondo tus consultas:

1. Si quiero que en la celda aparezcan los nombres como una lista donde uno pueda escoger .

2. Seria bueno que en una celda se pueda escribir la ruta de la carpeta por si se cambia,

3. La idea es que en la carpeta solo esten los archivos para la lista, nada mas.

4. Los nombres de los archivos SI pueden aparecer en una columna de otra hoja, asi puede ser mas facil usar validacion de datos

5. Que se cargue cada vez que abra el archivo.

6. La lista la deseo que si se selecciona dicho nombre vaya a buscar datos en ese archivo. Te escribo un ejemplo:

Tengo 3 archivos de una carpeta con los nombres carros, motos, bicicletas.

Supongamos que selecciono el archivo carros, y en otra columna pongo bmw.

lo que va a hacer es buscarme bmw en la columna "A" del archivo carros, y que me devuelva el precio. ( es un ejemplo) .

Muchas gracias dante

Saludos

Para que la macro se ejecute cuando abras el archivo tenemos que poner la macro en el evento "Open", para ello sigue las Instrucciones para poner la macro en ThisWorkbook

1. Abre tu libro de excel

2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11

3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook

4. Del lado derecho copia la macro

Private Sub Workbook_Open()
'Por.DAM
    ruta = Range("C2")
    If ruta = "" Then
        MsgBox "No hay ruta en la celda correspondiente", vbCritical
        Exit Sub
    End If
    If Dir(ruta, vbDirectory) = "" Then
        MsgBox "La ruta de la celda no existe", vbCritical
        Exit Sub
    End If
    ChDir ruta
    archi = Dir("*.xls*")
    Do While archi <> ""
        cadena = cadena & archi & ","
        archi = Dir()
    Loop
    Range("C3") = ""
    With Range("C3").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:=cadena
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

NOTAS:

En la celda C2 deberás poner la ruta, ejemplo:

C:\Documents and Settings\DAMOR\Mis documentos\docs

En la celda C3 te va a poner la lista de validación.

Cambia en la macro C2 y C3 por las celdas que quieras.

Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas