Es sabido que al ejecutar una macro se inhabilita la opción de Deshacer.
Por lo que se me ocurre que la macro previamente guarde los valores de las celdas en un rango auxiliar, en mi ejemplo: AA1:AB1
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'solo se ejecuta al cambio de la celda H2
If Target.Address <> "$H$2" Then Exit Sub
If Target.Value = "F" Then
'guardo los valores en rango auxiliar AA1:AB1
[AA1] = [C10]: [AA2] = [B15]
'coloca 0 en las celdas
[C10] = 0: [B15] = 0
Else
'si no es F coloca los valores que están guardados (*)
If [AA1] <> "" Then [C10] = [AA1]
If [AB1] <> "" Then [B15] = [AA2]
End If
End Sub
(*) Si las celdas auxiliares están vacías consideraré que aún no se dió un caso de F.
De todos modos te dejo un código que tomé y adapté para tu caso del genial John Walkenbach, que habilita justamente las opciones de Deshacer.
Pero debes tener presente que solo sirve para 'deshacer cambios' tal como lo hacemos con CTRL Z... si colocas hoy una F y mañana quieres cambiarla... ya no te sirve esta opción y tendrás que optar por mi macro anterior.
Este código va en el objeto HOJA donde estés trabajando.
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'solo se ejecuta al cambio de la celda H2
If Target.Address <> "$H$2" Then Exit Sub
ReDim OldSelection(2)
Set OldWorkbook = ActiveWorkbook
Set OldSheet = ActiveSheet
OldSelection(1).Addr = "$C$10"
OldSelection(1).Val = [C10].Value
OldSelection(2).Addr = "$B$15"
OldSelection(2).Val = [B15].Value
If Target.Value = "F" Then
[C10] = 0: [B15] = 0
Application.OnUndo "eliminar cambios", "Deshacer"
End If
End Sub
Y estos otros en un módulo:
'Custom data type for undoing
Type SaveRange
Val As Variant
Addr As String
End Type
Public OldSelection() As SaveRange
Sub Deshacer()
'habilita la opción de Deshacer (Ctrl Z)
On Error GoTo Problem
Application.ScreenUpdating = False
' Restaura la información guardada en la matriz
For i = 1 To UBound(OldSelection)
Range(OldSelection(i).Addr).Formula = OldSelection(i).Val
Next i
Exit Sub
Problem:
MsgBox "No se puede deshacer"
End Sub
Sdos y no olvides valorar las 2 respuestas que te envié.