Excel 2007 relacionar subproductos con producto

En un control de inventario tengo que dar de baja subproductos que entre ellos forman productos, es decir, en el caso de un restaurante.

Yo compro, por ejemplo 1 barra de pan, 1 kgs. De patatas, 1 Kgs. De carne, 12 huevos, etc

Y hago su entrada correspondiente en una aplicación de control de almacén en excel 2007, con lo que en stock tendré esa cantidad.

Si doy salida a un plato combinado que lleva, por ejemplo, la mitad de todo lo dicho, es decir, 0,5 barras de pan, 0,5 Kgs. De patatas, etc., pues para controlar el stock actual, debo grabar la salida de esa cantidad de cada artúculo.

Pues bien, la pregunta es la siguiente:

¿Hay alguna forma de dar salida a "1 plato combinado" y que el programa, automáticamente, previa información de que un plato combinando está formado por todo eso que hemos dicho, dé salida, digo automáticamente, a todos los ingredientes que componen el plato combinado?.

¿Podrían poner un ejemplo práctico muy sencillo (para sólo dos subproductos del planto combinado) y explicar cómo se haría ese control de almacén?

1 Respuesta

Respuesta
2

Te anexo un ejemplo muy sencillo con una macro para "platos combinados", el ejemplo lleva bebidas, pero puedes cambiar los nombres por los que quieras.

En la hoja van más instrucciones

https://www.dropbox.com/s/vbacqa37pf8eyko/inventario%20bebidas.xls

Saludos. DAM
Si es lo que necesitas.

H o l a:

Anexo la macro con la actualización para  sumar.

Sub actualizar_salida()
'Por.DAM
    Set h1 = Sheets("inventario")
    Set h2 = Sheets("bebidas")
    '
    If h1.Range("J3") = "" Then
        MsgBox "Selecciona un bebida", vbInformation, "Por.DAM"
        Exit Sub
    End If
    If h1.Range("K3") = "" Or Range("K3") = 0 Then
        MsgBox "Captura la cantidad", vbInformation, "Por.DAM"
        Exit Sub
    End If
    '
    f2 = Application.Match(h1.Range("J3"), h2.Columns("A"), 0)
    '
    If Not IsError(f2) Then
        For i = 1 To 3
            ing = h2.Cells(f2, i * 2)
            can = h2.Cells(f2, i * 2 + 1) * h1.Range("K3")
            f1 = Application.Match(ing, h1.Columns("A"), 0)
            If Not IsError(f1) Then
                h1.Cells(f1, "C") = h1.Cells(f1, "C") + can
            End If
        Next
    End If
    '
    MsgBox "Salida actualizada", vbInformation, "Por.DAM. INVENTARIO DE BEBIDAS"
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas