Excel una macro. Buscar todos los archivos que estén dentro de carpeta 1 jalar nombre de libro y B5

Fuera de esta carpeta un archivo llamado ganador de donde se ejecuara la macro...

Buscar dentro de carpeta1 todos los archivos de excel y que jale el nombre del libro asi como la información que este en la hoja 1 celda B5.

-------------------------------------------

Sub listar_archivos()
Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, "SELECCIONE UNA CARPETA", 0, "C:\").items.Item.Path
ChDir carpeta & "\"
archi = Dir("*.*")
Do While archi <> ""
ActiveCell.Value = archi
ActiveCell.Offset(1, 0).Select
archi = Dir()
Loop
End Sub

_____________________________________

Encontré esta macro pero solo busca todos los nombres que están dentro dela carpeta

1 respuesta

Respuesta
1

Me puedes dar más información.

1. ¿En qué carpeta quieres que se haga la búsqueda?

2. ¿La carpeta tu la vas a seleccionar o quieres que siempre sea la misma?

3. El archivo a buscar, ¿siempre es el mismo o tu vas a capturar el nombre?

4. ¿La macro en qué nombre de archivo va a quedar?

5. ¿La macro quieres que se ejecute en automático cuando abras el archivo de excel o tu la vas a ejecutar manualmente?

se ejecutara la macro...
que abra una ventana para elegir donde esta la carpeta.

ejemplro... carpeta1

busque todos los libro de excel que estandentro de carpeta1

y que jale el nombre del libro asi como la información que esta en la hoja1 celda B5.

y la ponga fuera de esa carpeta, en un archivo de excel llamado ganador en forma de listado::::el lirbo fuera de la carpeta contendrá esta macro

nombre libro 12345

nombre libro2 23456

nombre libro3 34567

esto sería repetitivo hasta q no allá mas libros

Crea tu libro ganador y ahí pones la siguiente macro.

'*************
Sub listar_archivos()
'Por Dam
Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, _
"SELECCIONE UNA CARPETA", 0, "C:\").items.Item.Path
ChDir carpeta & "\"
archi = Dir("*.xls")
Range("A1").Select
Do While archi <> ""
ActiveCell.Value = archi
' Workbooks.Open Filename:=archi
Workbooks.Open Filename:=archi
celda = Workbooks(archi).Sheets("hoja1").Range("B5").Value
Workbooks("ganador").Activate
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = celda
ActiveCell.Offset(1, -1).Select
archi = Dir()
Loop
End Sub
'*************

muchísimas gracias laverdad lo único q le faltaría es que al terminar cerrara los archivos abiertos menos ganador. pero aun asi mil gracias

No olvides cerrar la pregunta y crear otra pregunta para cerrar los archivos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas