¿Cómo puedo pasar los datos consultados de un libro diferente a hoja otra hoja específica?

La explicación es la siguiente:
1.- El Libro solamente quiero sacar la información que necesito. Éste archivo se llama BD.xlsm
2. - Que la macro obtenga la información del datos de los registros que voy a consultar. Éste archivo en el que voy a hacer la consulta se llama Resultado.xls.
3.- Si el nombre a buscar en el archivo BD.xlsm, o dato a buscar está mas de dos veces, de igual manera que me arroje la información todo lo relacionado de lo buscado.
La Hoja1 en el archivo BD.xlsm, tiene mas de 200 mil filas con datos, pero se va ingresando información cada vez cuando la situación amerite. El encabezamiento comienza a partir de la celda A7, y es asi:

A B C D E F

7 Nombre Apellido No. Cedula Ciudad Hotel Valor
8 Juan Lopez 123 Cuenca San Luis $234
9 Juan Lopez 123 Quito San Juan $356
10 Pedro Sanchez 234 Ibarra San Felipe $128
11 Juan Luna 124 Manta Santa Lucia $378

4. Que en el archivo Resultado.xlsm, del cual voy a hacer la consulta refleje la información consultada.
Para hacer la consulta utilizo el No. De Cedula que se encuentra en la celda A3, que es el código de identificación único de la persona.
Los datos consultados del archivo BD.xlsm, quedaría asi en el archivo Resultado.xlsm. Es decir que luego el nombre automáticamente coincida con el numero cedula consultado y que sea colocado en la celda A2 del archivo Resultado.xlsm.

Que quede asi el archivo consultado:

A B C

1
2 Nombre: Juan Lopez
3 No de Cedula: 123
4
5 Ciudad Hotel Valor
6 Quito San Luis $234
7 Cuenca San Juan $356
De igual manera al consultar con el numero de cedula 234, me quede de igual forma,
A B C
1
2 Nombre: Pedro Sanchez
3 No de Cedula: 234

4
5 Ciudad Hotel Valor
6 Ibarra San Felipe $128
7
Estaré muy agradecido por la ayuda

1 respuesta

Respuesta
1

Puedes utilizar código, pero si me hablas de mas de 200 mil registros, notaras muy lento a excel, dependiendo del procesador y de la memoria disponible, ojo que excel consume muchos recursos. A cambio excel tiene disponible las tablas dinámicas, y puedes obtener un resultado idéntico al que necesitas y en tiempo record, por ende si ya hay pivottable para que hacer código.

Igual te dejo un bosquejo de que necesitas hacer

Puedes poner este código en el evento change de la hoja de consulta, o crear un botón para hacer la busqueda

Aquí preguntaras si hubo cambios en la celda A3 entonces ejecutas

Sheets("CONSULTA").Select

xcedula=range("A3").value

Sheets("BD").Select

xfila = Range("C:C").End(xlDown).Row 'Cargaras el total de filas con datos

Range("C7").Select 'Aquí empieza tu relación de Cedulas de identidad

For i=2 to xfila

if activecell(i,1) = xcedula then

'si la cedula existe entonces copias a variables lso datos de la fila

xnombre=activecell(i,1)

xapellido=activecell(i,2)

xciudad=activecell(i,4)

xhotel=activecell(i,5)

xmonto=activecell(i,6)

'ahora nos vamos a la hoja de consulta nuevamente para pegarlos

'los pegas en la fila vacía, para eso utilizas otra variable yfila=range("A6:A200000").end(xldown). Row para determinar la fila vacía mas próxima y proceder a pegar los valores de las variables.

'luego vuelves a la hoja con la bd Sheets("BD").select

'No le des a ningún rango, para que siga buscando desde donde se quedo

end if

next

Espero te haya servido. Cualquier cosa a tu servicio

Gracias por su pronta respuesta. Pero favor explíqueme que como se hace lo que usted dice:

"igual te dejo un bosquejo de que necesitas hacer
Puedes poner este código en el evento change de la hoja de consulta, o crear un botón para hacer la búsqueda
aquí preguntaras si hubo cambios en la celda A3 entonces ejecutas"

Soy novato, es mi primera vez que estoy haciendo este tipo de archivos. Si fuese posible, para poder comprender mejor, porque no me envía el archivo ya hecho en excel

Es como te digo, lo mejor es que manejes toda la información con Tablas dinámica

Siento mucho no enviarte un fichero, la idea de este foro no es tener programadores gratuitos para realizar los trabajos.

La idea del Foro es absolver dudas y ayudarles a resolver sus dudas, lo lamento, pero no puedo hacer el trabajo por ti.

Te sugiero que consultes por como realizarlo en una tabla dinámica y gustoso te explicare como hacerlo. Sin embargo antes entra a Youtube y busca como hacer tablas dinámicas en excel para que tengas una idea previa y la respuesta de los expertos sea mas comprensible

De corazón, un agradecimiento especial, tiene toda la razón, voy a hacer la respectiva consulta. Aunque por mi parte estoy muy interesado en aprender a hacer este tipo de circunstancias que se desconoce. Haré una próxima pregunta a cerca de elaboración de tablas dinámicas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas