Comparar lista de precios 2 libros excel vba

Espero que se encuentren bien..! Necesitaría una rutina para comparar 2 hojas en Excel... Llamemos hoja1 y hoja2, se comparan los precios de los productos de HOJA1 con lo precios de los productos de HOJA2, si el producto LÁPIZ NEGRO por ejemplo cambio de precio con respecto la HOJA2 que actualice el precio de HOJA1...

En Hoja1 estan las columnas CODIGO LPZNGERO, PRODUCTO LAPIZ NEGRO y PRECIO 150 y en la Hoja2 CODIGO LPZNGERO, PRODUCTO LAPIZ NEGRO y PRECIO 250... En este caso el precio es diferente... Por ende deberia copiar el PRECIO NUEVO y pornerlo en el mismo producto de HOJA1

1 Respuesta

Respuesta
1

En el título mencionas 2 Libros, pero luego hablas de 2 Hojas. Así quedó la macro. Si luego necesitas comparar con otro libro solo tendrás que anteponer su nombre a la hoja, habilitando las instrucciones que dejo iniciadas con la comilla.

Sub ActualizaPrecios()
'x Elsamatilde
'Macro que compara 2 tablas actualizando una columna en los registros coincidentes
Dim dato As String
Dim hoA As Worksheet, hoB As Worksheet
Dim busco
    'esto por si se trabajará con otro libro
        'Dim libro2 As Workbook
        'Set libro2 = Workbooks("OtroLibro.xlsm")
        'Set hoB = libro2.Sheets("Hoja2")
Set hoA = Sheets("Hoja1")
Set hoB = Sheets("Hoja2")
' trabajo sobre la 1º tabla
hoA.[A2].Select
'recorro la tabla1 hasta encontrar 1 celda vacía que me indica el fin de rango
While ActiveCell <> ""
    dato = ActiveCell.Value
    'busco código en 2º tabla, col A
    Set busco = hoB.Range("A:A").Find(dato, LookIn:=xlValues, lookat:=xlWhole)
    'si lo encontró evalua las col de precios
    If Not busco Is Nothing Then
        If ActiveCell.Offset(0, 2) <> hoB.Range("C" & busco.Row) Then
           ActiveCell.Offset(0, 2) = hoB.Range("C" & busco.Row)
        End If
    End If
    ActiveCell.Offset(1, 0).Select
'repito el bucle
Wend
MsgBox "Fin del proceso de actualización.", , "Información"
End Sub

Estoy haciendo la búsqueda de cada código. Esto sirve por si las tablas se encuentran en otro orden o incluso si no tienen la misma cantidad de productos.

* Puedes solicitarme el libro con el ejemplo a mi correo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas