单击特定单元格即可触发宏

单击特定单元格即可触发宏

您能指点一下在 Excel 2010 中通过单击指定单元格一次来启动宏的方法吗?我曾在某处看到过解决方案,但现在却找不到了。

答案1

当在工作表中单击单元格 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 行。

答案2

这是与原始问题略有不同的方法,可能适合某些应用程序。

' 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

答案3

除非单元格值发生变化,否则 Worksheet_SelectionChange 事件不会触发。单击单元格不会触发该事件。

相关内容