Restar o sumar 2 celdas A y B cuando la celda B llegue a 0 deje de restar.

Lo que necesito es lo siguiente tengo 3 celdas en la celda A tengo las entradas y en la B las salidas y la C el saldo que va quedando. Lo que quiero es que cuando este saldo llegue a 0 ya no se puede seguir restando y no me muestre números negativos, osea que una vez que ya no tenga saldo este pare. Esto me gustaría en una macro. La otra inquietud que tengo es mi base de datos y todas las operaciones de suma, resta y saldo están en un solo libro. Yo quiero que la base de datos este en un libro y en el otro la macro ejecute todas las operaciones. Espero me puedan ayudar. Esta macro la descargue de otra página.

Sub proceso()
    Dim ultLinea As Long
    Dim ultLineaDatos As Long
    Dim codigo, descripicon, fecha, cantidad, movimiento As String
    Dim busquedaFilaDatos As Range
    Dim rangoBusqueda As String
    Dim filaRegistro As Long
    'Validar que la información esté completamente diligenciada
    codigo = Sheets("EEE").Cells(7, 3)
    descripicon = Sheets("EEE").Cells(7, 4)
    fecha = Sheets("EEE").Cells(7, 5)
    cantidad = Sheets("EEE").Cells(7, 6)
    movimiento = Sheets("EEE").Cells(7, 7)
    If Len(codigo) = 0 Or Len(descripicon) = 0 Or Len(fecha) = 0 Or Len(cantidad) = 0 Or Len(movimiento) = 0 Then
        MsgBox "Debe ingresar todos los campos!", vbCritical, "Resultado"
        Exit Sub
    End If
    'Asignación de valors en Movimientos
    ultLinea = Sheets("EEE").Range("G" & Rows.Count).End(xlUp).Row
    Sheets("EEE").Cells(ultLinea + 1, 7) = codigo
    Sheets("EEE").Cells(ultLinea + 1, 8) = descripicon
    Sheets("EEE").Cells(ultLinea + 1, 9) = fecha
    Sheets("EEE").Cells(ultLinea + 1, 10) = cantidad
    Sheets("EEE").Cells(ultLinea + 1, 11) = movimiento
    'Actualizar entradas y salidas
    ultLineaDatos = Sheets("EEE").Range("A" & Rows.Count).End(xlUp).Row
    rangoBusqueda = "A12:A" & ultLineaDatos
    Set busquedaFilaDatos = Sheets("EEE").Range(rangoBusqueda).Find(codigo, lookat:=xlWhole)
    If busquedaFilaDatos Is Nothing Then
        MsgBox "El código ingresado no existe", vbCritical, "Resultado"
        Exit Sub
    Else
        filaRegistro = busquedaFilaDatos.Row
        If movimiento = "Entradas" Then
            Sheets("EEE").Cells(filaRegistro, 3) = Sheets("EEE").Cells(filaRegistro, 3) + cantidad
        Else
            Sheets("EEE").Cells(filaRegistro, 4) = Sheets("EEE").Cells(filaRegistro, 4) + cantidad
        End If
        Sheets("EEE").Cells(filaRegistro, 5) = Sheets("EEE").Cells(filaRegistro, 3) - Sheets("EEE").Cells(filaRegistro, 4)
        'Limpiar datos
        Sheets("EEE").Cells(7, 3) = ""
        Sheets("EEE").Cells(7, 6) = ""
        MsgBox "Actualización exitosa de la información de E/S", vbInformation, "Resultado"
        Sheets("EEE").Range("C7").Select
    End If
End Sub

1 respuesta

Respuesta

Esto quizás sea de ayuda

https://youtu.be/d4VgP82naPI

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas