我对VBA并不熟悉,而且谷歌通常会尝试寻找解决方案,所以请耐心等待。
我想要达到的目的是:当列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)。有什么想法吗?提前谢谢!
答案 0 :(得分:2)
您只需要获取Target的行并清除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
答案 1 :(得分:0)
尽可能坚持你的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Left(Target.Address(, False), 1) = "L" Then Target.Offset(, 1).ClearContents
End Sub
答案 2 :(得分:0)
为了使响应速度更快/更快,您可以使用.Column
和.Row
属性:
If Target.Column = 12 And Target.Row >= 3 Then Target(, 2).ClearContents