Necesito crear una macro.

Hola, estoy necesitando que me ayuden para crear una macro, para actualizar una lista de precios de artículos (autopartes), yo tengo una creada con las siguientes columnas:
CodProv, Fecha, CodigoOrig, CodigoProv, Descripcion, Dto, Precio
Mis proveedores me envían sus propias listas con las siguientes columnas:
Fecha, CodigoProv, Descripcion, Dto
Lo que necesito es una macro que actualice los precios de lista por medio del CodigoProv y los que no encuentre me los marque como novedad, así los ingreso a mi lista.
Gracias
Respuesta
1
¿El código del proveedor es un código para el articulo? O es un código para definir el proveedor, ¿si es el segundo caso la manera de descriminar los productos seria según la descripción?
Esto lo pregunto porque la macro buscara tanto el código del proveedor como la descripción y solo si son iguales actualizara, caso contrario te marcara la fila que no encuentra en en tu lista.
¿Dime si esto es lo que necesitas?
El CodProv es el código del proveedor ejemp. 1 - juntas taranto y el codigoprov es el código que le otorga el proveedor a su producto el cual yo lo vinculo con el código original de fabrica o sea 023 (codigoprov) corresponde a 98433082 (código original de fabrica). Creo que con esta aclaración no haría falta incorporar a la consulta la descripción dado que son muy diversas en cada lista, no todos usan la misma descripción para cada articulo. Gracias
No tuve más repuestas, ¿podrás ayudarme o consulto en la página a otro experto?
Gracias
La verdad no me dedico 100% a esto, lo hago en ratos libres, por eso a veces se acumulan las preguntas, en fin si la hice por lo que te la paso. Para mi macro llame a la hoja en la que tienes la info "lista" y en la que pones los datos del proveedor "Proveedor", además aunque no lo mencionabas asumí que el nuevo precio estaría en la columna E, bien cono todas esas consideraciones te paso la macro
Sub Actualiza()
'
    Range("F2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISERROR(VLOOKUP(RC[-4],Lista!C[-5]:C[21],25,0))=TRUE,""Codigo No Encontrado"","""")"
    Range("F2").Select
    Selection.Copy
    Range("E2").Select
    Selection.End(xlDown).Select
    a = ActiveCell.Row
    Range("F" & a).Select
    Range(Selection, Selection.End(xlUp)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    b = 1
    a = a - 1
    For i = 1 To a
    Sheets("Proveedor").Select
    b = b + 1
    If Range("F" & b).Value = "Codigo No Encontrado" Then
    Else
    c = Range("B" & b)
    d = Range("A" & b)
    e = Range("E" & b)
    Sheets("Lista").Select
    Columns("A:A").Select
    Selection.Find(What:=c, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    f = ActiveCell.Rows + 1
    Range("B" & f).Value = d
    Range("G" & f).Value = e
    End If
    Next i
Sheets("Proveedor").Select
    Columns("F:F").Select
    Selection.Copy
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas