5

Не могли бы вы указать способ запуска макроса в Excel 2010, нажав только один раз на указанную ячейку? Я где-то видел решение, но теперь не могу отследить его.

3 ответа3

8

Следующий код будет срабатывать при нажатии ячейки D4 на листе.

Щелкните правой кнопкой мыши вкладку листа и выберите "Просмотр кода". Вставьте это в окно кода:

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("D4")) Is Nothing Then
            MsgBox "Hello World"
        End If
    End If
End Sub

Отрегулируйте ссылку на ячейку с "D4", чтобы отразить желаемую ячейку. Замените строку MsgBox желаемым кодом.

0

Вот немного другой подход к исходному вопросу, который может подойти для некоторых приложений.

' Make the desired cell a hyperlink to itself ...
With ThisWorkbook.Sheets(mysheet)
  .Hyperlinks.Add Anchor:=.Cells(myrow,mycol), Address:="", SubAddress:="R[0]C[0]"
End With

' ... and then let the handler for the FollowHyperlink event do the business: 
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
  Debug.Print "clicked " & Target.TextToDisplay & " on row " & Target.Range.Row
End Sub
-2

Событие Worksheet_SelectionChange НЕ запускается, если не изменено значение ячейки. Простое нажатие на ячейку НЕ запускает событие.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .