你这个问题说起来好像很杂的样子,实际上很简单。
一般我不用点击,因为sheet只有selectchange\beforerightclick\beforedoubleclick等事件,如果用selectchange事件,即使用键盘改变选定单元格,也会触发事件。建议用双击事件,代码如下
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("EV9:EV19")) Is Nothing And Target.Count = 1 Then
Sheet1.Range("k13:K23").ClearContents
Sheet1.Range("k13:K" & 12 + Target) = 0
If [es7] = "壹" Then Sheet1.Range("k" & 12 + Target) = 1
Cancel = True
End If
End Sub
当然了,换成Private Sub Worksheet_SelectionChange(ByVal Target As Range)用选择(单击)事件也是一样可以的
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 8 And Target.Row < 20 And Target.Column = 152 Then
Range("k13:k23") = ""
If [es7] = "零" Then
[k13].Resize(Target, 1) = 0
Else
[k13].Resize(Target, 1) = 1
If Target > 1 Then
[k13].Resize(Target - 1, 1) = 0
End If
End If
End If
If Target.Row = 6 And Target.Column = 152 And Target = "清除" Then Range("k13:k23") = ""
End Sub