¿Cómo hacer una macro para seguimiento de O/C?

Yo tengo un excel con tres hojas, en la hoja Status es donde esta toda la data de ordenes de compra pendientes de ingresar y clasificados por proveedor, la hoja Proveedores esta una lista de proveedores con los códigos de cada uno y la hoja tres quiero que aparezca un mensaje que diga " pon tu código de proveedor" y al introducirlo me aparezca todos los pendientes de entrega. Las hojas de status y proveedores no sean visibles.

1 Respuesta

Respuesta
1

H o l a:

Envíame tu archivo para adaptar la macro.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Katy Robles” y el título de esta pregunta.

Muchas gracias por el interés a te lo envíe!

H o l a:

Te anexo la macro para los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Address(False, False) <> "B1" Then Exit Sub
    Set h1 = Sheets("Cuadro de pendiente")
    Set h2 = Sheets("Status")
    h1.UsedRange.Offset(4, 0).ClearContents
    '
    If h1.Range("B1") = "" Then Exit Sub
    h1.[B2] = ""
    j = 5
    n = 1
    '
    Application.ScreenUpdating = False
    Set r = h2.Columns("A")
    Set b = r.Find(h1.Range("B1"), lookat:=xlWhole)
    If Not b Is Nothing Then
        ncell = b.Address
        Do
            ini = Array("B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P")
            fin = Array("A", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "O", "P", "P", "Q")
            For i = LBound(ini) To UBound(ini)
                h1.Cells(j, ini(i)) = h2.Cells(b.Row, fin(i))
            Next
            '
            h1.Cells(j, "A") = n
            h1.Cells(j, "B") = h1.Cells(j, "B") & n
            h1.Cells(j, "O") = h1.Cells(j, "N") - Date
            j = j + 1
            n = n + 1
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> ncell
        h1.[B2] = n - 1
    Else
        MsgBox "El código de proveedor no existe", vbExclamation, "CUADRO DE CLIENTES"
        Exit Sub
    End If
    Application.ScreenUpdating = True
    MsgBox "Terminado", vbInformation, "CUADRO DE PENDIENTES"
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas