Detectar se o valor da célula foi realmente alterado por meio da edição

Worksheet_Change dispara quando um valor de célula é alterado (que é o que eu quero), mas também dispara quando você digita uma célula como se fosse editá-la, mas na verdade não altera o valor da célula (e é isso que eu não quero que aconteça ).

Digamos que eu queira adicionar sombreamento às células cujo valor foi alterado. Então eu codifico isso:

Private Sub Worksheet_Change(ByVal Target As Range)
    Target.Interior.ColorIndex = 36
End Sub

Agora, para testar meu trabalho: altere a célula A1 e a célula será realçada. Esse é o comportamento desejado. Por enquanto, tudo bem. Em seguida, clique duas vezes em B1, mas não altere o valor lá e clique em C1. Você notará que B1 é destacado! E esse não é o comportamento desejado.

Eu tenho que passar pelos métodos discutidos aqui de capturar o valor antigo, então comparar antigo para novo antes de destacar a célula? Eu certamente espero que haja algo que eu esteja perdendo.

questionAnswers(4)

yourAnswerToTheQuestion