重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
怎么绑定 BeforeDoubleClick 事件
- (或 Alt + F11)打开 VBE
- 在左边 Project Explorer 双击要绑定的工作表(例如 Sheet1)
- 在代码窗口上方,左边下拉选 Worksheet,右边下拉选 BeforeDoubleClick
- VBE 会自动帮你生成事件框架,把代码写进框架里面
Worksheet BeforeDoubleClick 事件下拉选择
完整代码
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Font.Color = vbRed
Cancel = True
End SubTarget就是被双击的那个单元格Target.Font.Color = vbRed:把被双击的单元格字体改成红色Cancel = True:取消默认的双击行为(原本双击会让单元格进入编辑模式),设成 True 之后双击只会触发我们的代码,不会进入编辑状态
实操示例
双击 Sheet1 上任意一个单元格,测试字体是否变红、是否还会进入编辑模式。
学完你会
常见错误
- Cancel 参数没加
= True,双击后字体变红的同时还是会进入编辑模式,容易误以为代码没生效 - 把代码写在 Module(模块)里而不是工作表对象里,导致双击完全没反应——事件代码必须写在对应工作表对象的代码窗口
- 用 ActiveCell 代替 Target,理论上效果类似但不是事件真正传进来的参数,遇到某些情况会有差异
Sources
Blog / Website: