如何合并两个Excel VBA Worksheet_BeforeDoubleClick事件代码
Worksheet_BeforeDoubleClick事件合并实现方案
合并逻辑说明
原有两段代码分别对应A列、B列的双击触发规则,直接拼接会因为列判断的退出逻辑导致后一段代码永远无法执行,因此调整列判断逻辑为多分支匹配,保留原有全部功能。
合并后完整代码
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ' 仅响应A列、B列的双击操作 If Target.Column <> 1 And Target.Column <> 2 Then Exit Sub Dim last As Long Select Case Target.Column ' 双击A列触发Sheet2筛选逻辑 Case 1 last = Sheet2.Cells(Rows.Count, "A").End(xlUp).Row Sheet2.Range("A6:P" & last).AutoFilter Sheet2.Range("A6:P" & last).AutoFilter Field:=1, Criteria1:=Target.Value Cancel = True Application.Goto Sheet2.Range("A1") ' 双击B列触发Sheet1筛选逻辑 Case 2 last = Sheet1.Cells(Rows.Count, "B").End(xlUp).Row Sheet1.Range("A6:AQ" & last).AutoFilter Sheet1.Range("B6:AQ" & last).AutoFilter Field:=1, Criteria1:=Target.Value Cancel = True Application.Goto Sheet1.Range("B7") End Select End Sub
功能验证说明
- 双击当前工作表A列任意单元格:按单元格内容筛选Sheet2的A列数据,自动跳转到Sheet2的A1位置,同时取消双击默认的编辑模式
- 双击当前工作表B列任意单元格:按单元格内容筛选Sheet1的B列数据,自动跳转到Sheet1的B7位置,同时取消双击默认的编辑模式
- 双击其他列单元格:无额外触发逻辑,保留默认的双击编辑功能
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

