上一个单元格更改时清除单元格内容
我不熟悉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