VBA(Microsoft Excel)中的鼠标单击事件
Supriyo询问VBA中是否有鼠标事件处理程序。他希望在单击该单元格时在该单元格中插入一个值。
执行此操作的标准方法是使用SelectionChange事件。每当工作表中的选择更改时,都会触发该事件。该事件不仅会在单击单元格时触发,还会在有人按下光标控制键(导致选择另一个单元格)时触发。
例如,假设您希望单元格B5每次被选择时都包含值10。为此,可以使用以下命令:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("B5")) Is Nothing Then _ Range("B5").Value = 10 End Sub
将此代码添加到VB编辑器的“项目资源管理器”区域中的一个图纸对象中。双击要应用事件处理程序的工作表,然后将宏添加到结果代码窗口中。
触发SelectionChange事件时,会将目标(选定的单元格区域)传递给处理程序。然后宏检查目标范围是否包含单元格B5,如果包含,则将值10填充到单元格B5中。如果要确保仅选择了B5(单个单元格),则宏仅将信息填充到B5中,可以使用以下版本的宏:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = Range("B5").Address Then _ Range("B5").Value = 10 End Sub
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(3070)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: