Actualizar stock en frm_devolucion (vba excel)

Por la ayuda en la actualización de stock en el frm_compras. Por lo cual, también en el frm_salidas (adapatandolo al frm). Funciona a la perfección! GRACIAS!.

Ahora, si no es mucha molestia, hacer el recuento del stock en el frm_entradas_dev. Ya lo tengo todo funcional (buscando por No compra, rellenando los controles necesarios, etc etc...). Me faltaría el recuento del stock en la hoja "ARTICULOS".

Coloco el código que tengo en el botón "Procesar"

Private Sub cmb_procesar_Click()
Dim Fila As Long
Dim Final As Long
Dim Final2 As Long
Dim Titulo As String
Titulo = "fjpg GAMES"
'Validación para evitar los controles vacíos
If Me.cbx_factura = "" Then
    MsgBox "Selecciona un No. DE FACTURA", vbInformation, Titulo
    Me.cbx_factura.SetFocus
    Exit Sub
         ElseIf Me.txt_cantidad_dev = "" Then
                                MsgBox "Ingrese una cantidad a devolver", vbInformation, Titulo
                                Me.txt_cantidad_dev.SetFocus
                                Exit Sub
                                        ElseIf Me.txt_causa = "" Then
                                            MsgBox "Especifique la causa de la devolución", vbInformation, Titulo
                                            Me.txt_causa.SetFocus
                                            Exit Sub
End If
    'Determina el final del listado de ENTRADAS
    Final = GetNuevoR(Hoja3)
        'Envía los datos a la hoja de salidas
        Hoja3.Cells(Final, 1) = Me.lb_entrada.Caption
        Hoja3.Cells(Final, 3) = "DEVOLUCIÓN"
        Hoja3.Cells(Final, 4) = Me.lb_fecha.Caption
        Hoja3.Cells(Final, 6) = Me.lb_devolucion.Caption
        Hoja3.Cells(Final, 7) = Me.cbx_pago
        Hoja3.Cells(Final, 8) = Me.txt_cliente
        Hoja3.Cells(Final, 9) = Me.txt_causa
        Hoja3.Cells(Final, 10) = Val(Me.txt_codigo)
        Hoja3.Cells(Final, 11) = Me.txt_nombre
        Hoja3.Cells(Final, 12) = Val(Me.txt_cantidad_dev)
        Hoja3.Cells(Final, 14) = Val(Me.txt_venta)
        Hoja3.Cells(Final, 15) = Val(Me.txt_precio_dev)
        MsgBox "DEVOLUCIÓN exitosa", vbInformation, Titulo
        Unload Me
End Sub

P.D. He intentado adaptar el codigo que me pasaste, pero no consigo hacerlo funcionar.

P.D. II Tienes en tu poder el archivo.

1 respuesta

Respuesta
1

Pon ejemplos para entender lo que necesitas

Actualizar el stock de la hoja "ARTICULOS" al dar click en el botón "Procesar". Ya conseguí registrar la devolución en la hoja "ENTRADAS"

Este es el código que tengo en el botón "Procesar":

Private Sub cmb_procesar_Click()
Dim Fila As Long
Dim Final As Long
Dim Final2 As Long
Dim Titulo As String
Titulo = "fjpg GAMES"
'Validación para evitar los controles vacíos
If Me.cbx_factura = "" Then
    MsgBox "Selecciona un No. DE FACTURA", vbInformation, Titulo
    Me.cbx_factura.SetFocus
    Exit Sub
         ElseIf Me.txt_cantidad_dev = "" Then
                                MsgBox "Ingrese una cantidad a devolver", vbInformation, Titulo
                                Me.txt_cantidad_dev.SetFocus
                                Exit Sub
                                        ElseIf Me.txt_causa = "" Then
                                            MsgBox "Especifique la causa de la devolución", vbInformation, Titulo
                                            Me.txt_causa.SetFocus
                                            Exit Sub
End If
    'Determina el final del listado de ENTRADAS
    Final = GetNuevoR(Hoja3)
        'Envía los datos a la hoja de entradas
        Hoja3.Cells(Final, 1) = Me.lb_entrada.Caption
        Hoja3.Cells(Final, 3) = "DEVOLUCIÓN"
        Hoja3.Cells(Final, 4) = Me.lb_fecha.Caption
        Hoja3.Cells(Final, 6) = Me.lb_devolucion.Caption
        Hoja3.Cells(Final, 7) = Me.cbx_pago
        Hoja3.Cells(Final, 8) = Me.txt_cliente
        Hoja3.Cells(Final, 9) = Me.txt_causa
        Hoja3.Cells(Final, 10) = Val(Me.txt_codigo)
        Hoja3.Cells(Final, 11) = Me.txt_nombre
        Hoja3.Cells(Final, 12) = Val(Me.txt_cantidad_dev)
        Hoja3.Cells(Final, 14) = Val(Me.txt_venta)
        Hoja3.Cells(Final, 15) = Val(Me.txt_precio_dev)
        MsgBox "DEVOLUCIÓN exitosa", vbInformation, Titulo
        Unload Me
End Sub

Te paso la macro actualizada


Recuerda cambiar la valoración

Private Sub cmb_procesar_Click()
Dim Fila As Long
Dim Final As Long
Dim Final2 As Long
Dim Existencia As Integer
Dim TotalExistencia As Integer
Dim Titulo As String
 Set h2 = Sheets("ARTICULOS")
Titulo = "fjpg GAMES"
'Validación para evitar los controles vacíos
If Me.cbx_factura = "" Then
    MsgBox "Selecciona un No. DE FACTURA", vbInformation, Titulo
    Me.cbx_factura.SetFocus
    Exit Sub
         ElseIf Me.txt_cantidad_dev = "" Then
                                MsgBox "Ingrese una cantidad a devolver", vbInformation, Titulo
                                Me.txt_cantidad_dev.SetFocus
                                Exit Sub
                                        ElseIf Me.txt_causa = "" Then
                                            MsgBox "Especifique la causa de la devolución", vbInformation, Titulo
                                            Me.txt_causa.SetFocus
                                            Exit Sub
End If
    dato = txt_codigo
    '
    Set r = h2.Columns("A")
    Set b = r.Find(Val(dato), lookat:=xlWhole)
    If Not b Is Nothing Then
        h2.Cells(b.Row, "F") = h2.Cells(b.Row, "F") + txt_cantidad_dev
    End If
    'Determina el final del listado de ENTRADAS
    Final = GetNuevoR(Hoja3)
        'Envía los datos a la hoja de salidas
        Hoja3.Cells(Final, 1) = Me.lb_entrada.Caption
        Hoja3.Cells(Final, 3) = "DEVOLUCIÓN"
        Hoja3.Cells(Final, 4) = Me.lb_fecha.Caption
        Hoja3.Cells(Final, 6) = Me.lb_devolucion.Caption
        Hoja3.Cells(Final, 7) = Me.cbx_pago
        Hoja3.Cells(Final, 8) = Me.txt_cliente
        Hoja3.Cells(Final, 9) = Me.txt_causa
        Hoja3.Cells(Final, 10) = Val(Me.txt_codigo)
        Hoja3.Cells(Final, 11) = Me.txt_nombre
        Hoja3.Cells(Final, 12) = Val(Me.txt_cantidad_dev)
        Hoja3.Cells(Final, 14) = Val(Me.txt_venta)
        Hoja3.Cells(Final, 15) = Val(Me.txt_precio_dev)
        MsgBox "DEVOLUCIÓN exitosa", vbInformation, Titulo
        Unload Me
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas