Inconveniente código macro excel al intentar restar

tengo el siguiente problemita con este código

Public valor
Public viejo
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then
ubica = Target.Address
viejo = Target.Value
Target.Select
Application.EnableEvents = False
Target.Value = Target.Value + valor
Sheets("hoja1").Range(ubica).Offset(0, -1).Value = Sheets("hoja1").Range(ubica).Offset(0, -1).Value - viejo
Application.EnableEvents = True
valor = Target.Value
End If
End Sub

en si lo que hace este código es que cada vez que ingreso un valor por decir b1 el me le resta a el campo a1 elcodigo si en b1 ingrese 10 el le resta a a1 y después ingreso 10 de nuevo la casilla b1 queda en 20 hasta hay lo hace bien pero si voy a restar en en b2 i ingreso 5 el me lo resta a a2 eso lo hace bien el problema es que en la casilla b2 no queda 5 si no que me toma el ultimo valor anterior casilla osea queda 25 y si hago esto mismo en b3 y ingreso 5 entonces queda 30 entonces lo que necesito es que solo acumule el valo que se le ingresa a cada casilla queridos expertos

1 Respuesta

Respuesta
1

No se entiende muy bien el ejemplo. Mejor deja una lista de valores para evaluar, por ej al ingresar x 1ra vez 10 en B1, queda -10 en A1... y como seguirían las otras celdas en col A a medida que ingresas valores en B2, B3, B4...

Quedo a la espera de tus aclaraciones para continuar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas