Listar en una hoja

Gustavo, tengo el siguiente problema:
Desde una plantilla excel (formulario)genero archivos que se guardan con distintos nombres en una carpeta. Lo que necesito es crear una lista (en una hoja de archivo excel)con ciertos datos (celdas)de dichos archivos, por ejemplo: ver en filas una lista del nombre del archivo y a continuación el nombre del cliente, rut, etc.
Desde ya muchas gracias.
Nota: no se visual basic, soy usuarios de excel, esto sera de gran ayuda.

1 respuesta

Respuesta
1
El tema es de donde sacas el resto de la info; te puedo armar una macro que recorra los archivos para sacar el nombre, pero el cliente, rut, etc no se de donde lo sacarías
El resto de la información es mi problema, son datos que están en las celdas de las hojas de los distintos archivos y tengo que generar una lista con ellos y los archivos están agrupados bajo una misma carpeta. Solo se me ocurre abrir todos los archivos y hacer vínculos desde cada una de las celdas y de cada uno de los archivos, pero eso manualmente es una locura.
Pásame una dirección de mail...
Te pasé el archivo para leer el directorio; deberías modificarlo ligeramente para que lea lo que necesitas (RUT, cliente, etc)
Gustavo: instale el archivo bajo la carpeta, lee correctamente los archivos, pero como hacer para que lea las celdas (cliente, rut, etc) de esos archivos y de esta forma hacer un listado.
Gracias.
Te saluda,
Eduardo
Una vez que los tenés (con la macro que te dí), deberías agregar la instrucción
Workbooks. Open "nombreArchivo"
Para abrir el archivo
Luego lees las celdas que querés (en todos los casos deberían estar en la misma ubicación)
Y luego con
Workbooks("nombreArchivo").Close False
Lo cerrás sin guardar los cambios
Gustavo:
Muchas gracias. No se nada de macro, pero lo intentare, solo se que en el menu herramientas hay un editor de macros, pero al abrir no entiendo nada de lo que muestra.
Avanzá y cualquier duda pregunta
Gustavo:
Ni me resulta, no se como agregar las instrucciones que me enviaste. Te envíe un mai con la prueba que trate de hacer
Te envíe la respuesta,
Gustavo:
Funciona perfecto lo que me enviaste y agradezco mucho Tú ayuda, pero no se como aplicarlo a los archivos reales, entiendo que debería hacer modificaciones dentro de la macro, pero al ir al editor de macros, se abren ventanas que no se cual y como tratarla, solo podre hacerlo si existe una forma fácil que me pueda dar para hacerlo. Por otro lado me di cuenta que es más complicado el asunto porque el formulario que te adjunto tiene más de un item, es decir, para generar la lista abría que repetir el archivo, de acuerdo a tantos item o productos tenga el formulario. Las celdas con respecto a la cantidad, el producto, el valor, el GP, a contar del segundo item hacia abajo están en distinta ubicación, pero esto crero que lo podría solucionar con las personas que tipean.
Gustavo, adjunto archivo para que veas lo que explico arriba.
Gracias
Saludos
Eduardo
En el editor VBA, vas a encontrar un formulario; muestralo y luego da doble click en el botón Aceptar, allí veras el código que abre el archivo y va haciendo cosas como
cells(J, 2)= Workbooks(archivo). Range("A2")
...
Esa es la parte que deberías ir cambiando; incluso le podes agregar más instrucciones; respecto al tema de las ubicaciones, te diría que si lo tienes que tener siempre en la misma celda para ir abriendo los distintos archivos...
Gustavo:
Te cuento que logre avanzar con la instrucciones que me diste, funciona perfecto, los problemas para poder implementar definitivamente este informe son:
1)Bajo la carpeta INPUT, existen alrededor de 10000 archivos anuales, me es imposible marcarlos de a uno en el recuadro capturar (ingreso de parámetro, seleccionar las encuestas a incluir en el reporte) que me enviaste.
2)Como son archivos que van en aumento durante un año (se conservan durante 12 meses), cada ves que genero el informe la espera es muy larga, dado que comienza del primer archivo nuevamente. Como podría ser un filtro por fecha, es decir, que solo se agreguen al listado las cotizaciones faltantes, es decir, las seleccionadas a contar de una fecha seleccionada (filtro de fecha).
3)Y el problema que ya sabes, el formulario, tienen más de un item (cliente, rut, etc), ¿entonces es necesario repetir el archivo con item adicionales para incluirlos en el informe?
4)La ubicación de las celdas de los item adiconales es el otro problema, yo creo que no es posible buscar en base y traiga la información en base a una condición (ejemplo: si en la columna cantidad existe un valor mayor que cero, que informe dicho valor y las celda que están en frente (producto y valor).
Disculpas por la demora, te aclaro lo que puedo y la vamos viendo
1) Andá al editor VBA; seleccioná el formulario y allí seleccioná el cuadro. Buscá en las propiedades, que hay una que se llama "MultiSelect"; actualmente está como "1 - multiSelectMulti"; cambialo por "2 - multiSelectExtend"; este cambio hará que (como en Windows) puedas seleccionar el primero, mantener presionada la tecla <SHIFT> y al seleccionar el último te quedaran seleccionados todos los archivos intermedios
2) Yo te diría que tengas 2 archivos; uno que vayas teniendo toda la historia, y otro con la macro que vas ejecutando parcialmente. Como este archivo te va borrando los datos, primero pasas la historia a otro archivo, luego ejecutas la macro (solo eligiendo los archivos que faltan) y luego lo pasas al otro archivo (Que vas teniendo el histórico)
3) Tenés que modificar el archivo "base" (Libro1, Libro2, ...) incluyendo "toda" la información necesaria, y luego modificar el archivo que lee esta información (si no te das maña, armate el ejemplo "completo" y pásame un archivo de muestra que yo te armo el "lector")
4) No entiendo del todo esta pregunta; si querés primero cerremos las 3 preguntas anteriores y luego la seguimos con esto
Hola Gustavo:
Gracias, esperaba tú respuesta. Te respondí mediante mail, realice modificaciones de acuerdo a Tus instrucciones y te adjunte una carpeta.
Gracias nuevamente,
Espero Tú respuesta
Eduardo
Te respondí.
Gustavo:
te escribi mail....
Si querés cerrá esta pregunta y la seguimos directo por el mail...
Gustavo:
Disculpa, me tarde un montón.
Te adjunte un mail, para seguir con tú ayuda.
Te saluda,
Eduardo
Gracias
Recibido
Hola Gustavo:
Te ha permitido el tiempo ver mi asunto.
Gracias
Te pido que cierres esta pregunta y abras una nueva, pues la pregunta original ya tiene más de 2 meses de iniciada.
Saludos y la continuamos en la próxima
Gustavo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas