Como puedo hacer una macro que me permita copiar un dato de una columna de la hoja 2 y la busque en la hoja 1

Tengo un listado de inventario de piezas (hoja 1 de excel) donde esta el numero de parte y un responsable. Escaneo algunas de estas piezas de listado generando una hoja 2 mi pregunta es como puedo hacer una macro para que busque la pieza escaneada dentro del listado y cambie el responsable.

¿Es posible?

Anexo ejemplo en una imagen... Espero haberme explicado

1 Respuesta

Respuesta
1

[Hola 

Te paso la macro

Sub Copy()
    'Por Adriel Ortiz
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    '
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To u2
            Set b = h1.Columns("A").Find(h2.Cells(i, "A"), lookat:=xlWhole)
            If Not b Is Nothing Then
                h1.Cells(b.Row, "B") = "NOT"
                h1.Cells(b.Row, "C") = h2.[A1]
            End If
        Next i
        '
        MsgBox "finalizado"
End Sub

Valora la respuesta para finalizar saludos!

Muchas gracias por tu pronta respuesta, sinceramente no soy un experto en macros... hice una corrida y funciono muy bien, solo que me puso el nombre y el no en otra columna ya que tenia columnas ocultas, ¿sabes qué le debo cambiar a la macro para que haga los cambios en las columnas j y k?

Hice una segunda corrida y cuando termino la corrida aparece el botón de finalizado y tuve que presionarlo como 50 veces para tener acceso al listdo y después ya no me dejo hacer ningún cambio (como si estuviera bloquedadas las hojas)

¿Y debo hacer algún cambio para que la macro corra por medio de la creación de un botón?

Sub Copy()
    'Por Adriel Ortiz
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    '
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To u2
            Set b = h1.Columns("A").Find(h2.Cells(i, "A"), lookat:=xlWhole)
            If Not b Is Nothing Then
                h1.Cells(b.Row, "J") = "NOT"
                h1.Cells(b.Row, "K") = h2.[A1]
            End If
        Next i
        '
        MsgBox "finalizado"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas