Macro busca ID de hoja1 en tabla de Hoja 2. Una vez encuentra el ID, reemplaza valores provenientes de la Hoja 1.

Si alguien puede colaborarme les agradezco.

Esta macro se requiere para grabar la solicitud de préstamo de herramientas o equipos (en el pedido se construye un listado que puede relacionar en una misma solicitud varios tipos de herramientas en la Hoja "Solicitud") cada herramienta tiene un ID. En el pedido hay tres datos importantes que deben ser modificados en otra hoja ( la Hoja del "inventario"). Estos datos son (Nombre del Solicitante, Fecha de solicitud y Cantidad de días del préstamo. Este ultimo puede ser diferente para cada herramienta)

La macro busca con el ID de cada herramienta de la hoja "Solicitud", la misma herramienta en la Hoja Inventario, y modifica los campos "Solicitante", "Fecha de Solicitud" y Cantidad de "días de préstamo" en frente de cada registro en la Hoja "Inventario". Esto lo hace tantas veces como herramientas se hayan escrito en la hoja "solicitud".

2 Respuestas

Respuesta

Estos ejemplos que grabé

Demo 1: metodo 1

El método 1 seria seleccionando la celda del ID y ejecutando la macro con un botón o con una combinación de teclas.

Demo 2: metodo 2

El método 2 seria usando un UserForm. Este método sirve para actualizar uno a la vez o todos de una vez (si no se selecciona nada del combobox).

Demo 3: metodo 3

El método 3 es solo si quieres actualizar todas las herramientas de una, también puede ser con un botón o combinación de teclas.

Aquí te dejo el libro de ejemplo, si conoces un poco de VBA solo tienes que ajustar lo que haga falta.

Descargar libro ejemplo

NOTA: es algo sencillo y básico, no esta hecho a prueba de errores. Tu deberías adaptarlo a tus necesidades.

Andy M

Respuesta
1

Sube tu archivo de ejemplo a la nube

Adjunto el enlace al archivo de excel. La macro debería poder tomar la información de los campos en rojo de la hoja "Solicitud", y registrarlos en la hoja "Inventario" en los campos en Rojo, una vez encuentre coincidencia en el campo PLACA (ID) que esta en ambas Hojas.

https://drive.google.com/file/d/11N2xZnbKaU1I1lBGMj8KrE-LYoJbD7mb/view?usp=sharing 

Va la macro



Sub remplazar()
'Por Adriel Ortiz
'
    Set h1 = Sheets("Solicitud")
    Set h2 = Sheets("Inventario")
    '
    For i = 11 To h2.Range("C" & Rows.Count).End(xlUp).Row
        Set b = h2.Columns("C").Find(h1.Cells(i, "B"), lookat:=xlWhole)
        If Not b Is Nothing Then
            h2.Cells(b.Row, "L") = h1.Cells(i, "G")
            h2.Cells(b.Row, "H") = h1.Cells(i, "H")
            h2.Cells(b.Row, "O") = h1.Cells(i, "I")
        End If
    Next
    '
    MsgBox "Datos Actualizados"
End Sub

Desproteger la hoja para probar la macro

'

Puntuar la respuesta para finalizar saludos!.

Adriel! Gracias. Acabo de incorporarla. Que belleza! funcionando. Con esta me basaré para hacer el proceso a la inversa donde cada asociado regresa los elementos que tomo prestado. Y se vaya creando un historial de prestamos por cada equipo en otra Hoja! 

Será muy útil!@ y beneficiara a varios pequeños productores que se encuentran asociados en mi pais!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas