Събитие Worksheet_Change
Може да искате да стартирате макрос, когато клетката се промени. Популярно използване на тази способност е персонализираният код да валидира клетка след извършване на промяна. Лесно е да направите това, като използвате събитие за промяна на обекти от работния лист.
В редактора на Visual Basic първо трябва да щракнете двукратно върху името на листа, където се променя клетката, което активира макроса. Това отваря прозореца на кода за този обект от лист. В този случай исках да стартирам макрос, когато клетка в Sheet1 се промени.
След като отворите кодовия прозорец за работния лист, поставяте кода си в събитието Worksheet_Change. Следният пример ще покаже поле за съобщение, ако съдържанието на клетка A1 се промени. Първо подпрограмата се задейства, ако всякакви клетката се променя, след това използването на IF … Тогава операторът ще изпълнява кода само ако клетка A1 е клетката, която се е променила въз основа на If … Then.
Private Sub Worksheet_Change (ByVal Target As Range) If Target.Address = "$ A $ 1" Тогава MsgBox "Този код работи при промяна на клетка A1!" End If End Sub
Можете да поставите кода си директно в подпрограмата Worksheet_Change или да извикате друг макрос от там.