Jump to content
jandres351

AYUDA SOBRE ESTE INGRESO Y SALIDA DE ALMACEN

Recommended Posts

Amigos de ayuda excel, buenas noches, necesito que me ayuden con la programación de este macro.

necesito saber como programar los botones de entrada y salida.

la idea es que cada ves que ingrese una entrada se sume a las cantidades ya existentes y cada vez que ingrese una salida se reste de mis entradas, al final debe arrojarme un stock existente. Adjunto el archivo ya desarrollado con los botones, pero en la programación no esta bien ya que no funciona, agradeceria su aporte.

Aparte tambien necesito ayuda, el ejercicio es el mismo pero con la diferencia que este debe tener fecha de entrada y fecha de salida, los cuales deben estar estaticos y de manera automática sin que nadie pueda modificar las fechas tanto de entrada como de salida.

espero que me hayan podido entender y me puedan brindar su ayuda desinteresada.

saludos a toda la comunidad de ayuda excel.

 

Ate

Jandres351

Control de Almacen.xlsm

Share this post


Link to post
Share on other sites

Buenas noches

 

Con el permiso de @JM123 te dejo mi sugerencia en el archivo adjunto. No obstante, tambien dejo a tu disposición los códigos encerrados en etiquetas para que lo veas de una manera mas precisa:

Option Explicit
Option Private Module
Public E As Long
Public S As Long
Public Lin As Long
Sub Entrada()


With Hoja1

Lin = 5

    Do While .Cells(Lin, 1) <> ""
    
    'Si el codigo es el mismo, procede con el ingreso
        If .Cells(2, 1) = .Cells(Lin, 1) Then
            
            .Cells(Lin, 4) = .Cells(Lin, 4) + .Cells(2, 4)
    
        End If
    
    Lin = Lin + 1
    
    Loop


End With


End Sub
Sub Salida()

With Hoja1

Lin = 5

    Do While .Cells(Lin, 1) <> ""
    'Para validar si el inventario es optimo para la venta....
        If .Cells(2, 1) = .Cells(Lin, 1) And CDbl(.Cells(Lin, 6)) < CDbl(.Cells(2, 4)) Then
            MsgBox "No dispone de suficiente saldo para procesar el material.", vbCritical, "Error"
            Exit Sub
        End If
    'Si el codigo es el mismo y el inventario es optimo, entonces procede su salida.
        If .Cells(2, 1) = .Cells(Lin, 1) And CDbl(.Cells(Lin, 6)) >= CDbl(.Cells(2, 4)) Then
            'Sale de la columna la cantidad disponible
            .Cells(Lin, 5) = .Cells(Lin, 5) + .Cells(2, 4)
    
        End If
    
    Lin = Lin + 1
    
    Loop


End With


End Sub

No detallaré lo que hacen en si ya que cada uno se describe a si mismo como su nombre de procedimiento. 

Espero te sea útil tambien.

 

Mis respetos.

Control de Almacen.xlsm

Share this post


Link to post
Share on other sites
Hace 2 minutos , jandres351 dijo:

Asi es amigo, es para poder controlar mejor lo que ingreso con fecha y lo que salio con fecha...

En cuanto al ejemplo que me has mandado esta bien pero solo hay un problema, no se registra la entrada en el campo

que corresponde y tampoco registro las entradas en el campo que corresponde, lo unico que se ve son los movimientos del stock, cada vez que ingrese una cantidad por codigo de producto debe verse la cantidad ingresada en el campo que corresponde idem con las salidas.

 

Share this post


Link to post
Share on other sites
Hace 53 minutos , Enigma25 dijo:

Buenas noches

 

Con el permiso de @JM123 te dejo mi sugerencia en el archivo adjunto. No obstante, tambien dejo a tu disposición los códigos encerrados en etiquetas para que lo veas de una manera mas precisa:


Option Explicit
Option Private Module
Public E As Long
Public S As Long
Public Lin As Long
Sub Entrada()


With Hoja1

Lin = 5

    Do While .Cells(Lin, 1) <> ""
    
    'Si el codigo es el mismo, procede con el ingreso
        If .Cells(2, 1) = .Cells(Lin, 1) Then
            
            .Cells(Lin, 4) = .Cells(Lin, 4) + .Cells(2, 4)
    
        End If
    
    Lin = Lin + 1
    
    Loop


End With


End Sub
Sub Salida()

With Hoja1

Lin = 5

    Do While .Cells(Lin, 1) <> ""
    'Para validar si el inventario es optimo para la venta....
        If .Cells(2, 1) = .Cells(Lin, 1) And CDbl(.Cells(Lin, 6)) < CDbl(.Cells(2, 4)) Then
            MsgBox "No dispone de suficiente saldo para procesar el material.", vbCritical, "Error"
            Exit Sub
        End If
    'Si el codigo es el mismo y el inventario es optimo, entonces procede su salida.
        If .Cells(2, 1) = .Cells(Lin, 1) And CDbl(.Cells(Lin, 6)) >= CDbl(.Cells(2, 4)) Then
            'Sale de la columna la cantidad disponible
            .Cells(Lin, 5) = .Cells(Lin, 5) + .Cells(2, 4)
    
        End If
    
    Lin = Lin + 1
    
    Loop


End With


End Sub

No detallaré lo que hacen en si ya que cada uno se describe a si mismo como su nombre de procedimiento. 

Espero te sea útil tambien.

 

Mis respetos.

Control de Almacen.xlsm

Muchas gracias voy a probarlos y te comento....

Share this post


Link to post
Share on other sites
Hace 22 horas, jandres351 dijo:

Muchas gracias voy a probarlos y te comento....

muchas gracias, funciona a la perfección, me costo un poco entender la lógica, dime como podria agregarle fechas de ingreso y salida y que se guarden en una base de datos x cada código de producto que ingrese o salga del almacen.

Share this post


Link to post
Share on other sites
En 6/9/2016 at 21:20 , Enigma25 dijo:

Hola @jandres351

Me alegro que te sirva. Si pudieras referenciar a quien le solicitas o agradeces la posible solución colocando el @ antes del nombre de la persona, seria genial.

Por otro lado, debes crear la hoja y hojas para que se almacene el historial.

Saludos.

 

El agradecimiento es para ti enigma25, me sirvio mucho tu ejemplo y me ayudo en lo que queria, como te comentaba desearia implementarlo mas con fecha de ingreso y salida de productos y que pueda imprimirlo en un reporte, para saber en que fecha ingresaron x productos y en que fecha salieron x productos, asi podria llevar un mejor control del stock y ver que productos salen e ingresan mas y cuales son los que no tienen mucho movimiento...

espero puedas ayudarme, la base es el mismo ejemplo que esta adjunto...

Share this post


Link to post
Share on other sites

Hola @jandres351 También es bueno que le agradezcas a @JM123 por la su buena solución ya que la vi y tambien es muy buena.

Por otro lado, cuando te digo que debes crear la hoja u hojas donde se va a almacenar el historial, es para no usar la que ya tienes porque la misma funciona como Tabla de productos juntos con sus ingresos, egresos y saldos. Deberias contar con la nueva hoja donde se van a almacenar el historial de ingresos y egresos.

 

dicha información se irá registrando una debajo de la otra de manera que mantenga el orden de la misma.

Te agradezco entonces que lo hagas para asi hacer lo demás.

Ejemplo:

  1. Nª Control
  2. Fecha.
  3. Código
  4. Descripción
  5. Cantidad

Así vas aprendiendo tambien un poco la manera en como se hace los registros.

 

Saludos.

Share this post


Link to post
Share on other sites
En 5/9/2016 at 21:39 , jandres351 dijo:

En cuanto al ejemplo que me has mandado esta bien pero solo hay un problema, no se registra la entrada en el campo

que corresponde y tampoco registro las entradas en el campo que corresponde, lo unico que se ve son los movimientos del stock, cada vez que ingrese una cantidad por codigo de producto debe verse la cantidad ingresada en el campo que corresponde idem con las salidas.

 

Gracias   @JM123 nos sirvio de mucho tu ejemplo para poder llegar a resolver el tema, ahora funciona de maravillas, espero contar con tu aporte en futuros nuevos temas....

Share this post


Link to post
Share on other sites
En 8/9/2016 at 19:43 , Enigma25 dijo:

Hola @jandres351 También es bueno que le agradezcas a @JM123 por la su buena solución ya que la vi y tambien es muy buena.

Por otro lado, cuando te digo que debes crear la hoja u hojas donde se va a almacenar el historial, es para no usar la que ya tienes porque la misma funciona como Tabla de productos juntos con sus ingresos, egresos y saldos. Deberias contar con la nueva hoja donde se van a almacenar el historial de ingresos y egresos.

 

dicha información se irá registrando una debajo de la otra de manera que mantenga el orden de la misma.

Te agradezco entonces que lo hagas para asi hacer lo demás.

Ejemplo:

  1. Nª Control
  2. Fecha.
  3. Código
  4. Descripción
  5. Cantidad

Así vas aprendiendo tambien un poco la manera en como se hace los registros.

 

Saludos.

Hola Enigma te adjunto el archivo con la hoja donde se almacenara el historial, espero que sea tal cual me indicastes, si algo esta mal me indicas donde estuvo el error, espero poder tener un control que sirva de mucho para implementarlo en mi proyecto de control de almacen...

Almacen 2.xls

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy