Macro en excel

Buenos días.
Tengo un libro con dos hojas. En la hoja "Active Directory", tengo 3 columnas, con el ID de usuario, su nombre, y su ubicación en el edificio.
En la otra hoja "Impresiones", tengo las mismas columnas, pero unicamente con el ID de los usuarios que ese mes han realizado alguna gestión. LAs columnas "nombre" y "ubicacion" están vacías.
¿Qué macro necesito para que, al meter cada mes nuevos datos en la hoja "Impresiones", me recorra la hoja "Active Directory", comprobando cada ID de usuario, y completandome las columnas "nombre" y "ubicacion"?
Muchas gracias por la atención.
Saludos.

2 Respuestas

Respuesta
1
Más que una macro, te recomiendo que veas la función buscarv (que calculo que te servirá perfectamente)
Si te trabas con algo avisá
Justo en este momento estaba tratando de utilizar esa función, pero no lo consigo.
Siempre me da algún error.
Imaginando que estas son las columnas (iguales en ambas hojas, pero una de ellas incompleta). Esta seria la hoja 1, llamada "Active Directory", con los datos completos:
Usuario Nombre Ubicación
rcille01              Ana maria               madrid
lopez87             Antonio Lopez         Barcelona
Y tendríamos la hoja 2, llamada "impresiones", con las mismas columnas, pero sin datos en al columna "nombre" y "ubicacion"
¿Cómo utilizo la función que me dices, con que parámetros?
Asumiendo que el usuario lo tenés en la celda A2 (y hacia abajo), entonces ingresa en B2
=buscarv(A2;'Active Directory'!$A$1:$C$100;2;falso)
y en C2
=buscarv(A2;'Active Directory'!$A$1:$C$100;3;falso)
Donde
A2: es lo que querés buscar (en tu caso el usuario)
'Active Directory'!$A$1:$C$100: es la tabla donde debe buscarlo (el 100 es a modo de ejemplo, debes asegurarte que sea lo suficientemente grande para que entre todos los usuarios)
2: Indica que en la tabla se desplace 2 lugares (o 3 para la ubicación)
Falso: indica que si no encuentra el usuario en forma exacto de error (#N/A); esto te servirá más que nada para evitar posibles errores de tipeo
y luego de esto deberías copiar las fórmulas hacia abajo para cubrir todos los usuarios que quieras
Perfecto.
Amplié como me dijiste el rango de 100, a 3500, que es el numero de usuarios, y ha funcionado sin problemas.
El fallo mio radicaba en el uso de los símbolos $.
Al no ponerlos, y copiar las fórmulas hacia abajo, también se modificaban estos rangos, se incrementaban, y me ofrecía datos en blanco.
Muchas gracias por todo, me has ahorrado horas de trabajo si los hubiera tenido que introducir manualmente.
Un cordial saludo.
Respuesta
1
Esto lo podes solucionar con la función BUSCARV, si entiendo bien el problema.
Por ej: si tu Id está en A2
=BUSCARV(A2;Impresiones!$A$2:$C$50;2;falso)
Esto te devolverá la col de nombre. Cambiando el argumento 2 x 3 obtendrás la 3er col, es decir ubicación.
Si esto no resuelve tu consulta, necesitaré algunas aclaraciones más.
Muchas gracias por la respuesta.
Ayer conseguí hacerlo, precisamente de ese modo, solo que cambiando el argumento "impresiones" por "active directory" que era la hoja en la cual estaban los datos a buscar. También modifiqué el rango, adecuándolo a mi hoja, y funcionó perfecto.
Te agradezco mucho la respuesta, en estos temas de excel soy un perfecto ignorante, ahora por motivos de trabajo lo necesito utilizar continuamente, y gracias a vosotros estoy ganando un tiempo precioso, automatizando muchas de mis tareas, que hasta ahora se realizaban manualmente en esta empresa.
Un cordial saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas