Wykryj, czy wartość komórki została faktycznie zmieniona przez edycję

Worksheet_Change uruchamia się, gdy zmieni się wartość komórki (co jest tym, czego chcę), ale uruchamia się również, gdy wejdziesz do komórki tak, jakbyś ją edytował, ale tak naprawdę nie zmienia wartości komórki (i tego nie chcę robić ).

Powiedz, że chcę dodać cieniowanie do komórek, których wartość została zmieniona. Więc koduję to:

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

Teraz przetestuj moją pracę: zmień komórkę A1 i komórka zostanie podświetlona. To pożądane zachowanie. Jak na razie dobrze. Następnie kliknij dwukrotnie B1, ale nie zmieniaj wartości, a następnie kliknij C1. Zauważysz, że B1 jest podświetlony! I to nie jest pożądane zachowanie.

Czy muszę przechodzić przez omawiane tutaj metody przechwytywania starej wartości, a następnie porównać stare z nowymi przed podświetleniem komórki? Mam nadzieję, że czegoś mi brakuje.

questionAnswers(4)

yourAnswerToTheQuestion