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