Выполнить макрос при щелчке или выборе ячейки

Выполнить макрос при щелчке или выборе ячейки

Я пытаюсь сгенерировать MsgBox, когда пользователь нажимает на ячейку. Ячейка в данный момент имеет имя. Я написал следующий код, но не вижу оповещения.

Sub Send_Alert()
    If ActiveCell.Name.Name = "Name01" Then
        MsgBox "You have clicked"
    End If
End Sub

Где я ошибаюсь?

решение1

Ваш подпрограмма не оценивается. Ваш подпрограмма должна быть вызвана для запуска кода.

Вам нужно вызвать ваш sub или код из события. События вызываются системными прерываниями (например, такими, как движение мыши) или на более абстрактном уровне (например, при нажатии кнопки или изменении ячейки).

Для ваших целей вам, вероятно, понадобится использовать событие SelectionChange. Помните, что это событие происходитмногои может замедлить работу вашей системы или даже полностью заблокировать Excel. Событие также вызывается, если вы меняете выбор в другой открытой книге. Убедитесь, что ваш код выполняется только тогда, когда вам это нужно. Если замедление неизбежно, попробуйте использовать Application.ScreenUpdating = False ; ... другой код ... ; Application.ScreenUpdating = True, чтобы отложить обновление экрана до тех пор, пока не будет выполнен весь ваш код (вероятно, это не нужно, если вы вызываете только msgbox).

введите описание изображения здесь

Связанный контент