Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const Col As Long = 2
If Not Intersect(Target, Range("L7:L98")) Is Nothing Then
Application.EnableEvents = False
Target.Value = "T"
Target.Offset(, 1).Resize(, Col).ClearContents
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("M7:M98")) Is Nothing Then
Application.EnableEvents = False
Target.Value = "I"
Target.Offset(, 1).ClearContents
Target.Offset(, -1).ClearContents
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("N7:N98")) Is Nothing Then
Application.EnableEvents = False
Target.Value = "D"
Range(Target.Offset(, -1), Target.Offset(, -2)).ClearContents
Application.EnableEvents = True
End If
End Sub
此代码对我造成轻微问题。任何时候我在范围内选择一整行,范围内的每个单元格都变为“T”。由于代码的一致性,如果我删除带“T”,那么,整个行会充满字符串“I”选择变化影响范围以外的单元格
什么可作调整,范围内的细胞被选择为触发只?
'如果Target.Count> 1,则退出Sub' –
谢谢!问题解决了! – Thelnternet
此外,'范围(Target.Offset(,-1),Target.Offset(,-2)).ClearContents'可以是'Target.Offset(,-2).Resize(1,2).ClearContents' –