Mejorar macro de búsqueda Excel

Te escribo para que me ayudes a actualizar con una macro que hiciste.

Copiar y pegar nombres de productos según búsqueda_copia

Set h1 = Sheets("BD_PROD")
    For i = 2 To h1.Range("a" & Rows.Count).End(xlUp).Row
            nnombre = h1.Cells(i, "c")
            ncodigo = h1.Cells(i, "b")
        Set h2 = Sheets("arreglo")
        Set b = h2.Columns("e").Find(h1.Cells(i, "a"), lookat:=xlWhole)
        If Not b Is Nothing Then
            h2.Cells(b.Row, "j") = nnombre
            h2.Cells(b.Row, "k") = ncodigo
        End If
    Next
MsgBox "arreglo terminado", vbApplicationModal, "MOLINOS DEL MUNDO"

Es casi la misma teoría le explico lo siguiente :

En esta hoja tengo el EAN del Ítem lo que necesito es que busque el EAN en la hoja BD_PROD y que me de el nombre del producto y su código en las columnas J y K en el código con el cual usted me ayudo antes realiza la acción pero al buscar el articulo solo reconoce a uno y si hay algún numero repetido ya no lo busca y solo se queda con el primero que encuentra me puede ayudar para que hay más números los busque y le agregue el nombre y código

Este el resultado al correr la macro de lo cual realiza la búsqueda pero solo del primero si hay más ítem con el mismo numero ya no las busca

esta es la base de datos de donde jalo la información

Gracias por la atención prestada

Slds

Robert

1 Respuesta

Respuesta
2

H o l a:

Tengo problemas con mi explorador, no puedo ver las imágenes.

Me puedes enviar tu archivo y me explicas cómo quieres el resultado cuando existen más de un artículo.

Hola Dante,

Ya le envié el archivo a su correo

Slds

Robert

Te anexo la macro

Sub BuscarDatos()
'Por.Dante Amor
    Set h1 = Sheets("arreglo")
    Set h2 = Sheets("BD_PROD")
    For i = 2 To h1.Range("E" & Rows.Count).End(xlUp).Row
        If IsNumeric(h1.Cells(i, "E")) Then valor = Val(h1.Cells(i, "E")) Else valor = h1.Cells(i, "E")
        Set b = h2.Columns("A").Find(valor, lookat:=xlWhole)
        If Not b Is Nothing Then
            h1.Cells(i, "J") = h2.Cells(b.Row, "B")
            h1.Cells(i, "K") = h2.Cells(b.Row, "C")
        End If
    Next
    MsgBox "fin"
End Sub

:) 
Saludos. D a n t e A m o r. Recuerda valorar la respuesta. G r a c i a s
:) 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas