上一个单元格更改时清除单元格内容

我不熟悉VBA,通常Google会试着find解决scheme,所以请耐心等待。

我想实现的是:列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