2016-12-15 138 views
0

我对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)。有什么想法吗?提前致谢!

回答

2

你只需要获得目标的行和明确的同一行中的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 
0

坚持你的代码尽可能:

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Left(Target.Address(, False), 1) = "L" Then Target.Offset(, 1).ClearContents 
End Sub 
0

为了让更多一点点响应/更快,可以使用.Column.Row属性:

If Target.Column = 12 And Target.Row >= 3 Then Target(, 2).ClearContents 
相关问题