当前单元格被更改时清除单元格内容
问题描述:
我对VBA不熟悉,通常Google会尝试寻找解决方案,所以请耐心等待。当前单元格被更改时清除单元格内容
我想实现的是:当列L中的单元格(同一行)中的单元格发生更改时,列M中的单元格将被清除。现在,我有下面的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "L3" Then Range("M3").ClearContents
End Sub
只是用L3 & M3时,其中适用于大,但我无法弄清楚如何得到它应用到整个列(或技术上我需要它的工作对于L3:L4000和M3:M4000)。有什么想法吗?提前致谢!
答
你只需要获得目标的行和明确的同一行中的M列
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("L:L")) Is Nothing Then
Range("M" & Target.Row).ClearContents
End If
End Sub
答
坚持你的代码尽可能:
Private Sub Worksheet_Change(ByVal Target As Range)
If Left(Target.Address(, False), 1) = "L" Then Target.Offset(, 1).ClearContents
End Sub
答
为了让更多一点点响应/更快,可以使用.Column
和.Row
属性:
If Target.Column = 12 And Target.Row >= 3 Then Target(, 2).ClearContents