¿Cómo hago para utilizar un buscarv o un vlookup por vba para abrir distintos libros?

El usuario debe ingresar 3 datos: Código de cliente, Mes y Año. Los archivos tienen por nombre la siguiente estructura:

xxxxx-Año-Mes.xls (Ejemplo = Repartos-2013-02.xls)

Cada archivo (libro) tiene como mínimo 40 solapas (hojas) y siempre los datos a buscar están en $C$3:$H$200, y debo buscar los datos en las 40 hojas, pero no puedo leer el archivo en que debo buscar, me es imposible lograrlo.

Si el archivo fuera siempre el mismo es sencillo ya que hago:

Dato del cliente = A1 (numérico)

Dato del año = A2 (numérico) ----> Ingresó: 2013

Datos del mes = A3 (numérico) ----> Ingresó: 02

=Buscarv (A1;'C:\Sistema\Datos\Históricos\[Repartos 2013-02.xlsm]01'!$C$3:$H$200;2;falso)

(En este caso busco en la hoja (Sheets) 01 (es el nombre de la hoja: 01) y así tendría que hacerlo hasta la "31".

1) ¿Cómo hago para leer los datos del archivo que corresponda?

2) ¿Cómo hago para variar el nombre de la hoja que va de 01 a 31 en forma correlativa?

3) ¿Hay que abrir primero el archivo de donde se van a consultar los datos? Ya que no se modifica nada del archivo donde se hace la consulta, se puede evitar tener que abrirlo?

Desde ya muchísimas gracias.

Melvin

1 Respuesta

Respuesta
1

Tienes que usar la función indirecto junto con la función buscarv
Esta sería una fórmula para buscar con indirecto
=BUSCARV($A$2,INDIRECTO($F$2&G2&"'"&"!$C$3:$H$200"),2,0)
En esa fórmula puedes poner el libro en una celda, el año en otra celda, el mes en otra celda y la hoja en otra celda, después juntas todas las celdas y utilizas buscarv. Pero para explicarme mejor te envío mi archivo con un ejemplo.

https://www.dropbox.com/s/ql7ejinn75oqp0x/buscarv%20indirecto2.xlsx

Con la fórmula contesto tus preguntas 1 y 2
3. Si tienes que abrir el archivo para que se actualice el resultado, si no tienes el libro abierto te pone el resultado #!REF!
Revisa el ejemplo y me comentas.

Saludos. Dam
Si es lo que necesitas.

Muchas gracias Dam, de todas formas no me resigno a tener que tener el archivo abierto, alguna forma le voy a encontrar.

Gracias de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas