Событие щелчка мыши в VBA

Суприо спросил, есть ли в VBA обработчик событий мыши. Он хочет, чтобы значение вставлялось в ячейку при щелчке по ней.

Стандартный способ сделать это – использовать событие SelectionChange. Каждый раз, когда выбор изменяется на листе, запускается событие. Событие запускается не только при щелчке по ячейке, но и в том случае, если кто-то нажимает клавишу управления курсором, в результате чего выбирается другая ячейка.

В качестве примера допустим, что вы хотели ячейка B5, чтобы содержать значение 10 всякий раз, когда эта ячейка выбрана. Чтобы реализовать это, вы можете использовать следующее:

Private Sub Worksheet_SelectionChange (ByVal Target As Range) If Not Intersect (Target, Range («B5»)) Is Nothing Then _ Range («B5» ) .Value = 10End Sub

Этот код добавляется к одному из объектов листа в области Project Explorer редактора VB. Дважды щелкните рабочий лист, к которому нужно применить обработчик событий, а затем добавьте макрос в окно результирующего кода.

Когда запускается событие SelectionChange, цель (выбранный диапазон ячеек) передается обработчику. Затем макрос проверяет, содержит ли целевой диапазон ячейку B5, и, если да, вставляет значение 10 в ячейку B5. Если вы хотите убедиться, что макрос вставляет информацию в B5, только если выбрана только B5 (отдельная ячейка), вы можете использовать эту версию макроса:

Private Sub Worksheet_SelectionChange (ByVal Target As Диапазон) Если Target.Address = Range («B5»). Address Then _ Range («B5»). Value = 10End Sub

Источник: frestage.ru

Бытовой вопрос