locked
Macro en Excel - Visual Basic RRS feed

  • Pregunta

  • Estoy desarrollando un modelo de codigo para inventarios, en el camino me he encontrado con una incognita y me gustaria que me ayudasen en la medida de sus posibilidades. El archivo de excel con este codigo no me descuenta del inventario inicial ni de las compras la entrega de material. El codigo es: 

    Select Case Movimiento
        Case Is = "Saldo Inicial"
            Range("L" & F) = Unidades
            Range("M" & F) = PrecioUnidad
            B = 1
        Case Is = "Compra"
            Range("F" & F) = Unidades
            Range("G" & F) = PrecioUnidad
        Case Is = "Devolución Material de Impresion"
            Range("I" & F) = Unidades * -1
        Case Is = "Devolución Material de Produccion"
            Range("I" & F) = Unidades * -1
        Case Is = "Devolución Material de Planta"
            Range("I" & F) = Unidades * -1
        Case Is = "Entrega de Material a Impresion"
            Range("I" & F) = Unidades
        Case Is = "Entrega de Material a Produccion"
            Range("I" & F) = Unidades
        Case Is = "Entrega de Material a Planta"
            Range("I" & F) = Unidades
        Case Is = "Devolución a Proveedor"
            Range("F" & F) = Unidades * -1
            Range("G" & F) = PrecioUnidad
        Case Is = "Retiro Otro Concepto"
            Range("F" & F) = Unidades
            Range("G" & F) = PrecioUnidad
    End Select

    • Cambiado Enrique M. Montejo martes, 2 de enero de 2018 16:27 Programación con Microsoft Excel mediante Visual Basic para Aplicaciones.
    jueves, 28 de diciembre de 2017 22:52

Respuestas

  • A mi enteder deberás ampliar algo más, cual es tu necesidad, al menos yo no entiedo, se ve que utilizas un string "Movimiento" con el cual disparas el Select Case según su valor y según este colocas el valor en la celda correspondiente, columna "X" más valor F que será un integer numerador de la fila, ahora lo que no entiendo es si lo que deseas es que al recorrer el Select efectue las operaciónes, no se si es correcto, pero en tal caso ej:

    ().......

     Case "Devolución a Proveedror"

        Unidades -= 1 'Si el caso es que descuenta de uno en uno, si no una variable donde acumule devoluciones

        Range("F" & F) = Unidades

    .....()

    Si esto es así todas esas variables deben ser publicas dado que deberan tomar el valor y modificarse independientemente de las veces que entres en esta función

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗


    • Editado Marcelo PF viernes, 29 de diciembre de 2017 6:06
    • Propuesto como respuesta Pablo Rubio viernes, 29 de diciembre de 2017 15:27
    • Marcado como respuesta Pablo Rubio lunes, 1 de enero de 2018 17:11
    viernes, 29 de diciembre de 2017 6:03