Restar Valor

Gustavo como esta me puede ayudar con los siguiente en una columna tengo un valor ejemplo: 100.000 y en la siguiente tengo que colocar el valor que se recupero de esos 100.000 si coloco 20.000 en la tercera columna me debe aparecer 80.000 que es la resta de lo que había frente a lo que se recupero. La pregunta es como hago para que cuando se coloque ese dato de recuperación se reste y quede 80.000 y que yo pueda borrar el valor de 20.000 y este no me afecte el valor de 80.000 si no que lo deje así, para luego si de recupera otro valor ejemplo 20.000 ya queden 60.000 y este valor no se modifique es decir cada vez que se recuperen valores en la segunda columna estos se puedan borrar pero en el total pagado siga el histórico de los valores recuperados hasta que quede en cero.
Muchas Gracias

1 respuesta

Respuesta
1
Suponiendo que tu valor inicial está en la columna A, tu valor a restar en la B y el resultado en la C, podrías poner algo como (en la hoja que quieres que pase)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then 'columna B
Target.Offset(0, 1) = Target.Offset(0, -1).Value + Target.Value
End If
End Sub
Podes probar con alguna variación de esta fórmula, pero originalmente lo que hace es dejar en la columna C (cualquier fila) el valor de A+B
Gustavo gracias, pero lo que quiero es que cuando coloco en la columna b un valor este reste y el valor que quede de la columna c quede constante así se borre en la columnab el valor.
Me explico:
En la columna A tenemos un valor que nos deben de 100.000 cuando se realiza la gestión de cobro la persona que debe cancela por ejemplo 50.000 entonces al colocar este valor en la columna B nos daría como resultado en en la columna C 50.000, hasta hay vamos bien, pero resulta que el mismo señor a los 8 días vuelve y paga 20.000 como el tiene un saldo de 50.000 entonces quiero que al borrar el dato de 50.000 pesos de la columna B el valor de la columna C no cambie si no que siga qudando los 50.000 y al poner el nuevo abono de 20.000 el valor de la columna C quedaría en 30.000 es decir me acumule los abonos en la columna C pero que así borre el valor de la columna B este no me cambie.
Gracias
El "problema" es que tu resultado está quedando en la columna C y para que te sirva, lo deberías tener siempre en la misma columna; tal vez te sirva algo como
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then 'columna B
Target.Offset(0, 1) = Target.Offset(0, -1).Value + Target.Value
Target.Offset(1,-1)=Target.Offset(0,1)
End If
End Sub
como para copiar el valor en la celda de abajo (en la columna A)
Y luego te vas desplazando hacia abajo. Esto tiene algún riesgo (sobrescriba lo que haya en la fila de abajo)
Creo que vas a tener que replantear el problema pues sino deberías hacer algo como
Valor inicial= columna A
monto pagado= columna B
nuevo importe= columna C
monto pagado= columna D (?)
nuevo importe= columna E
monto pagado= columna F
...
Creo que queda claro el problema; sino tal vez lo que tengas que hacer es que el valor en lugar de dejarlo en la columna C lo vuelva a dejar en la A (aunque perderás el monto inicial); fíjate en las preguntas ya contestadas que conteste algo parecido hace muy poco)

Añade tu respuesta

Haz clic para o