Ejecutar Macro al suprimir valores
tengo la siguiente macro en una hoja de excel
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CeldaActiva As Range
If Target.Count > 1 Then Exit Sub
'esta rutina controla contenidos en columnas específicas
'primero omitimos que se ejecute cuando se trata de cambios en las
'2 primeras filas, generalmente de títulos:
If Target.Row < 2 Then Exit Sub
If Target.Column = 1 Then
If Target.Value <> 0 Then Call prueba
End If
If Target.Column = 2 Then
If Target.Value <> 0 Then Call prueba
End If
End Sub
que ejecuta la macro prueba insertada en un modulo, que realiza la resta del valor de la celda B3 menos A3, y asi sucesivamente B4-A4, B5-A5 ...siempre y cuando estas celdas contengan un valor, en caso que una de ambas celdas, no tenga un valor no se realiza la diferencia y la celda C, que es donde muestra el resultado es igual a "", la macro seria la siguiente:
Sub prueba()
Range("B3").Select 'se comienza a ejecutar teniendo el valor de B3
While ActiveCell <> ""
If UCase(ActiveCell) <> "" Then
If Range("B" & ActiveCell.Row) <> "" Then Range("C" & ActiveCell.Row) = Range("B" & ActiveCell.Row) - Range("A" & ActiveCell.Row)
If Range("B" & ActiveCell.Row) = "" Then Range("C" & ActiveCell.Row) = ""
End If
ActiveCell.Offset(1, 0).Select
Wend
End Sub
El problema es que cuando suprimo un rango de datos o un valor de una celda. El resultado, en C ya sea un rango C3,C4,C5 o una sola celda C5, no se borra, la cuestión es que si yo borro los valores de digamos B4 Y A4, automáticamente el valor de C4 se borre. EJEMPLO
10(B6)-5(A6)=5(C6)
elimino estos datos, C6 se actualize a ""
""(B6)-""(A6)=""(C6)