UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

donsuae


Hola estimados usuarios de UniversoExcel.
Soy algo nuevo en el tema de las macros, y este foro me ha servido en gran parte.

Mi duda es cómo hacer una macro que tome un dato de una hoja, lo busque en otra y el resultado de su búsqueda lo pegue en la hoja principal.


Gracias de antemano!

wibly


Hola donsuae, bienvenido al foro!

Con el objetivo de poner un poco de orden en el foro estamos pidiendo que se cumplan las Normas para realizar preguntas (si aún no las leiste las podés encontrar yendo a INDICE, arriba a la izquierda).

También trata de explicar con más detalle que es lo que querés que te traiga (no tiene sentido buescar un valor y que te traiga eso mismo) y sube un archivo de muestra.

Saludos

Adrián

donsuae


Gracias por su pronta respuesta.

Leí las normas y ahora le adjunto un archivo llamado Planilla.

Los datos que se encuentran en la hoja llamada DATOS, es una forma planilla para llenar esos campos que se solicitan.

Y en la hoja INFO IDs, está la información de todos los usuarios.

Mi consulta es: cómo hago para que según el ID que se encuentre en la planilla DATOS, generar una búsqueda en la hoja INFO IDs, y que busque según el nombre del ID y te devuelva toda la información necesaria para completar la planilla de DATOS.


En síntesis es, enviar un dato a otra hoja del excel, que lo busque y toda la información que se encuentre en la misma fila, se copie o devuelva a la hoja principal, completandose los datos de esta.



Gracias de antemano.
Archivos
Planilla.xlsx
No tienes los permisos para descargar los archivos.
(11 KB)

wibly


Para lo que buscás no es necesario utilizar macros.

Te recomiendo que leas en la ayuda de Excel sobre la función BUSCARV, que es una fórmula de gran utilidad (todavía recuerdo cuando la conocí).

Por ejemplo, en la celda B2 la fórmula sería más o mensos así:

Código:
=BUSCARV($A2;'INFO IDs'!$A$1:$I$18;4;0)
El 4 significa que traiga al valor asociado a la cuarta columan de la matriz de búsqueda.

Según la configuración que tengas, puede ser que tengas que poner "," en lugar de ";".

Esta fórmula la podes arrastrar hacia abajo sin inconvenientes (porque los signos $ inmobilizan la matriz de búsqueda). Pero para arrastrar hacia la derecha no funciona, ya que tendrás que ir cambiando el valor 4 por la columna que corresponda.

Si tienes inconvenientes nos dices y te seguimos ayudando.

Saludos

Adrián

wibly


Moví el tema al sub-foro FORMULAS.

Fijate si podés cambiarle el TITULO al tema por uno más apropiado.

donsuae


Gracias por tu ayuda.

Primera duda, cómo se llama esa función si tengo el excel en inglés?

Segunda duda, debo automatizar este proceso, osea con alguna macro, cosa de apretar un botón que genera la búsqueda y complete las columnas donde se debe.




Gracias de antemano.

donsuae


La idea sería hacer una macro.

wibly


Creo que en Inglés es "VLOOKUP".

Abre el archivo que adjunto (cambié el valor de la celda A2 de la hoja 'DATOS' para que no de error) y comenta como te muestra la función así aprendemos.

Aún no entiendo lo de la necesidad de una macro.

Saludos

Adrián
Archivos
Planilla adw.xlsx
No tienes los permisos para descargar los archivos.
(11 KB)

donsuae


Muchas Gracias por tu ayuda.

Estuve probando, funciona bien en la búsqueda.
Mi idea es automatizar este proceso.

Porque,

1.-Uso archivos con muchos registros, sobre los 50000.
2.-Mi idea no es usar fórmulas, dejan muy pesados los archivos.
3.-Mediante un botón se genere la búsqueda y se completen las columnas.


Saludos.

wibly


Por eso te recomendé que veas la ayuda que EXCEL trae sobre esta función... es la mejor manera de aprnder.

En la fórmula la matriz de búsqueda es:

'INFO IDs'!$A$1:$I$18

Reemplazá el 18 por la última fila de la hoja y listo.

Saludos

donsuae


Gracias por la información.

Pero no hay forma de que mediante un botón se genere la búsqueda y se completen las columnas?




Saludos.

wibly


Consutas:

¿Sabes usa el grabador de macros?

¿Cuántas filas admite la versión de Excel que estás utilizando?

Saludos

Adrián

donsuae


Algo conozco del grabador de macros.


Lo que sucede es que en un futuro, trabajaré con muchas hojas en el mismo excel.
Además de muchos registros con IDs.

Me parece que El número de filas en Excel 2007 y 2010 es 1048576.


Saludos.

wibly


Ahora no puedo seguir con este tema... te diría que comiences a intentar algo con el grabador de macros, aprovechado las fórmulas BUSCARV (ponerlas en la fila 2 y copiar hacia bajo, fórmulas y luego pegar valores para que no se haga pesado el archivo).

Veremos si podes llegar a algo o si alguien más puede ayudar.

railar


Hola donsuae // Adrián

Siempre hay que empezar por algo, y en macros la mejor ayuda es el grabador,
Te adjunto la misma función BUSCARV, automatizada con macros.

Por favor cuando adjuntes una planilla que por lo menos haya unos datos o Id coincidentes con la matriz de búsqueda para efectos de probar la función, como en el caso de Adrían que tuvo que colocar uno de ellos para verificar la función.

Presiona el botón, Revisa y comentas

Saludos

Raúl
Archivos
BuscarMult.xls
No tienes los permisos para descargar los archivos.
(44 KB)



Última edición por railar el 10/04/14, 04:19 pm, editado 2 veces (Razón : Corrección)

wibly


Qué tal Raúl?

Yo también subo una propuesta que desarrollé con el grabador y luego edité un poco.

No olvides comentar los resultados.

Saludos

Adrián
Archivos
Planilla adw2.xlsm
No tienes los permisos para descargar los archivos.
(20 KB)

donsuae


Muchas Gracias a ambos.

Ya vá tomando forma lo que deseo hacer.
Me ha servido el archivo de wibly.


Gracias también railar, por tu ayuda, aunque tuve problemas para su ejecución.




Una duda:


Si tengo una hoja con miles de registros, con esta función se demora mucho?


Puedo hacer que busque en rangos específicos en la hoja de "INFO IDs", por ejemplo de la celda A hasta la E?






Saludos.

wibly


Logicamente, como cualquier planilla Excel a medida que se incrementa la cantidad de fórmulas, el cálculo se lentifica. Tenen en cuenta que por cada fila de la hoja DATOS hay 6 fórmulas BUSCARV.

Recién hice unas simulaciones, y con mi procesador obtuve lo siguiente:

#registros        #tiempo (s)
1.000              1
50.000             7
100.000           12
200.000           23


Por otro lado, en cuanto a tu pregunta "Puedo hacer que busque en rangos específicos en la hoja de "INFO IDs", por ejemplo de la celda A hasta la E?", eso ya está hecho así al definir la matriz de búsqueda como 'INFO IDs'!R2C1:R1048576C9, o sea desde la columna 1 (A) hasta la columna 9 (I) y desde la fila 2 hasta la última (1048576).

Saludos

Adrián

donsuae


Gracias por tu respuesta wibly.


Cómo calculaste el tiempo de ejecución de la macro?




Saludos.

wibly


Simplemente en la hoja DATOS generé esas cantidades de registros (solo copiando y pegando hacia abajo... es muy simple y rápido), ejecuté la macro y tomé el tiempo con reloj.

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.