Saltar al contenido

Segun el valor ingresado, traer informacion de una tabla a otra, o ingresar nueva informacion


Recommended Posts

publicado

Buenas noches amigos de Ayuda Excel.

Estoy atorado en una parte del proyecto, y quiero consultarles de que manera se podria realizar lo siguiente.

Estoy haciendo un archivo de registro de entradas y salidas de equipos seriabilizables, pero necesito que al capturar el serial del equipo con una lectora de codigo, la macro me verifique si este esta en la tabla de la hoja "Salidas", si el serial esta en dicha tabla, necesito que la macro me traiga la informacion de ese rango de fila, y lo agregue en otra tabla ubicada en la hoja "Entrada", y que adicionalmente agregue en esa misma fila, al lado de la fecha de egreso, la fecha de hoy (ingreso) con su hora (de la misma manera en que ya lo hace). Al terminar de exportar la informacion, debera arrojarme un mensaje indicandome la ubicacion y numero de baul. Despues de este procedimiento, debe ir nuevamente a la celda "Serial de equipo", para capturar si fuera el caso el proximo serial.


Pero si el serial del equipo no esta en la tabla "Salidas", la macro debera pedirme que ingrese el serial de inventario de dicho equipo en la hoja "Reg. Entrada", y despues agregar esta informacion (los dos seriales) en la tabla de la hoja "Entradas".


Seria algo asi como en la imagen.

1782489390_Ingresodeequipos.thumb.jpg.78ccab4d7fae5dc47a39ef57a286120c.jpg


Anexo mi archivo para mayor informacion.

Entradas y salidas de equipos - Version muestra.xlsm

Les agradezco de antemano por la ayuda que me puedan prestar

Entradas y salidas de equipos - Version muestra.xlsm

publicado

Disculpen, se me olvido poner los usuarios y claves

La clave para desproteger hojas y la que se usa en los botones es 123456

Admin y Registro permite ver toda las hojas, y consultas colo las hojas Salidas y Entradas

Usuario     clave

admin admin
Registro 6977267
Consultas

10537446

 

publicado

amigo @MauriciodeAbreu, yo intente ayudar, pero de verdad que no logré entender de todo, por favor sube un detalla un ejemplo concreto que tengas en tu archivo.

1. coloco el serial X en la celda E5 de la hoja Reg. Entradas

2. se debe mostrar el valor Y en la celda Z (no se, no logro entender, pues en la hoja de salida por lo que veo el serial se puede repetir)

y así vas explicando hasta el paso final, para poder entender

suerte

publicado

Estimado bigpetroman, antes que nada muchas gracias por responder.

Explico un poco de que va el sunto de los seriales tanto en la Salida como en la Entrada, la condicion de estos equipos es algo peculiar, ya que pueden salir varias veces y entrar la misma cantidad de veces, salvo algunas excepciones que no importan para la aplicacion de este archivo. Por tal motivo, no he restringido el ingreso de los seriales a una sola vez.

Para decirlo mas claro, salen en calidad de prestamo y deben regresar en un perodo X, el cual esta definido por variables de tiempo no fijas en la mayoria de los casos.

Por otro lado, los equipos tienen dos seriales, uno del fabricante, y otro de Inventario, y, este ultimo, necesito capturarlo tanto en la salida como en la entrada.

He de acotar, que en la salida no hay problemas con la captura o funcionamiento de la aplicacion, en cambio, en la entrada de estos equipos es donde viene mi dilema.

Siendo asi, lo que necesito lograr, con vuestra ayuda claro esta:

1- Hacer que la aplicacion al ingresar el serial en la hoja " Reg. Entrada" me busque en la tabla de salida (que esta en la hoja "Salidas"), el serial que ingresé, si lo encuentra, me traiga la informacion que contiene esa linea. Y, dicha informacion, la coloque o pegue, en la tabla Entradas, que obviamente esta en la hoja "Entradas".

2- Si, no llegara a encontrar dicho serial (porque salio antes de que estubiera operativa esta aplicacion), me pida ingresar el serial de inventario, el cual esta bajo la denominacion de Bienes Nacionales. Y, al ingresar este segundo serial, me coloque la informacion (los dos seriales) en la tabla Entradas, ubicada en la hoja "Entradas".

Dicho esto, lo que necesito es basicamente lo que describo arriba, ya que el mensaje que me arrojaria la aplicacion es informativo (solamente para cuando haya encontrado el serial),  para saber su ubicacion y numero de Baul, y asi poder colocar el equipo en su lugar.

Con respecto a la pregunta de que si quiero agregar o no una nota, creo, deberia ser pan comido despues de lograr los puntos 1 y 2.

No se si he logrado explicarme, o he enrredado mas las cosas. Por favor indicame y tratare de ser mas explicito. O si lo prefieres hacer un paso a paso.

De verdad muchas gracias de antemano por vuestra atencion, esfuerzo y paciencia.

Atento a vuestros comentarios...

Saludos.

publicado

Hola @MauriciodeAbreu

Como diría mi confidente "Jack el Destripador" vamos por partes.

Envió una muestra del archivo, solo hace la búsqueda de los datos de la hoja "Reg. Salidas", de ahí le vamos añadiendo paso por paso.

Espero sea de utilidad.  

publicado

Saludos @MauriciodeAbreu, se me había pasado, te dejo el archivo, aunque no respondiste realmente lo que te pregunte.

en la hoja Reg. Entradas, agregue una línea adicional, que te muestra la información de la hoja salida para el serial ingresado, si no existe, te muestra un mensaje

al presionar el botón Anotar Entrada, si hay datos en la fila 8 (existe el serial buscado), pasa esa información a la hoja entrada, sino, pasa la información de la fila 5.

como adicional, si hay datos en la fila 8, y hay un comentario en la fila 5 (Notas), se agrega ese comentario al comentario existente.

 

suerte

Entradas y salidas de equipos - Version muestra.xlsm

publicado

bigpetroman

Sois un genio, has dado justo en el clavo, y has ido mas alla al hacer lo de las notas, que siendo honesto, no lo habia considerado, pero dejame decirte que esta genial.

De verdad me quito el sombrero...

Solo decir que modifique esta linea, ya que me colocaba un cero en las notas de Entrada, cuando en las notas de Salida no habia ninguna nota.

            Worksheets("Entradas").Range("I5").Value = wHoja.Range("H8").Value

Por esta otra

             Worksheets("Entradas").Range("I5").Value = ""

Y el otro detallito, es en la formula:

=SI($B8="NO Existe en Salidas";"";INDICE(Tabla1;COINCIDIR($C$5;Tabla1[Serial Equipo];0);7))

Segun entiendo, no deberia colocar nada cuando el valor de la celda B8 sea "NO Existe en Salidas", mas sin embargo coloca el valor Cero (0) en dicha celda.

Se puede corregir ¿?

 

Agradecido de antemano

publicado

Bigpetroman, me sigue mostrando cero, no se si hago algo mal.

Te muestro unas capturas de pantalla...

Por ejemplo, como puede ver en la hoja Salida el serial del equipo "1S20AWA23J00PC08MAG2" no tiene nota.

1.thumb.png.653b0fc7eb7a6b40f152e7ff69104e49.png

Pero en la hoja Reg. Entrada, al traer la informacion asociada al serial, trae como nota un cero, y debria ser vacio ya que no existe nota

2.thumb.png.cf77729c9e36219dbd22c4ddface61bd.png

Y en la hoja Entrada, tambien coloca el cero como nota

3.thumb.png.627d7aa5206f8f0decad0a3123d65b73.png

Existe alguna posibilidad de que coloque " " en vez del cero ¿?

publicado

amigo, coloca esta formula en esa celda

=SI($B8="NO Existe en Salidas";"";SI(INDICE(Tabla1;COINCIDIR($D$5;Tabla1[Serial Equipo];0);7)="";"";INDICE(Tabla1;COINCIDIR($D$5;Tabla1[Serial Equipo];0);7)))

 

no había entendido lo que querías decir

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Hola nuevamente. Por eso la importancia de lo que mencionas tú como "ruta relativa". Tal cual comentas, y aún sin llegar a algunos detalles importantes para ayudarte, en realidad tal cual te comenté le día miércoles, pues sí podías hacer como comentabas, era cosa de obtener los Id de Windows (como tú los llamas) y la ruta de OneDrive en casa usuario y eso sí se puede obtener con VBA y luego pasarlo a PQ, pero medio que te cerraste en que "PQ no puede trabajar con rutas relativas", cosa cierta pero siempre hay formas. Si SAP puede o no guardar en OneDrive o SharePoint, pues si está mapeado en la PC ¡claro que se puede! Pero bueno, creo que si te es útil tu propia propuesta ¡avanza con eso!
    • Perdona @Abraham Valencia pero he estado liado estos días. En realidad todo el problema se reduce a estos dos problemas: Problema 1: El script que "fabrica" SAP y que luego "pego" en la macro, no es capaz de  guardar archivos en SharePoint. He estado buscando, y en realidad muchas personas tienen ese problema (no poder guardar un Excel en SAP a través de VBA). Eso muy probablemente sean problemas de permisos, que no puedo cambiar (no soy administrador de nada). Como no puedo solucionarlo así, paso al plan B, que es guardar en Excel que me genera SAP en el ordenador de cada usuario que ejecute la plantilla (y que sí está guardada en SharePoint), para después con PowerQuery llamar a ese Excel (el export). Para ello, pretendo guardar el export, en la ruta relativa "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" donde los \..\..\..\ saltan las rutas personales de cada usuario (tipo C:\users\IDusuario\). Eso lo hace bien, y el archivo se guarda en la ruta de cada usuario que lo usa, pero surge el problema 2 Problema 2: PowerQuery no trabaja con rutas relativas del tipo  "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" necesita que sea del tipo fija "C:\users\IDusuario\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" pero claro, IDusuario es diferente para cada usuario.   Pero escribiendo todo esto, creo que he dado con una posible solución, no grabar el export en una ruta de usuario, sino en una en la raiz de C:, que siempre será igual para todos los usuarios, del tipo C:\Sap\export.xlsx que seria igual en todos los ordenadores. Asi sí podría decirle a PowerQuery que vaya siempre a la ruta C:\Sap\ que existirá en todos los ordenadores. Mañana intentaré hacer pruebas, aunque mi solución ideal seria que se pudiera guardar en el SharePoint. Saludos.
    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
    • Hola nuevamente, mi duda sigue siendo la ruta, o rutas, finales que quedan, esas que llamas "relativas"; igual por si acaso pon 3 o 4 de esas, tal cual son y/o se ven en el explorador de cada PC y, de ser posible, en cualquier otro "lado" en que las veas.
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.