VBA:自动清除基于单元格值的整个行

实质上,我有一个macros,当一个值放入列B中的单元格时,它会更新其他列中的其余信息。 当我在列BI中删除该值时,要将其他列中的其余列的信息删除。

我使用的代码类似于下面的代码:

Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Set KeyCells = Range("B:B") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then If Range(Target.Address).Value = "X" Then Range(Target.Address).Offset(0, 1).Value = "1" Range(Target.Address).Offset(0, 2).Value = "2" Range(Target.Address).Offset(0, 3).Value = "3" Range(Target.Address).Offset(0, 4).Value = "4" End If EndIf End Sub 

很长的路要做另一个如果陈述:

  If Range(Target.Address).Value = "" Then Range(Target.Address).Offset(0, 1).Value = "" Range(Target.Address).Offset(0, 2).Value = "" Range(Target.Address).Offset(0, 3).Value = "" Range(Target.Address).Offset(0, 4).Value = "" End If 

由于macros自动运行,这将完成这项工作。 有没有办法用clear.contents做到这一点?

所以这里是我如何做到这一点:

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then If Target.Value = "x" Then Target.Offset(0, 1) = "1" Target.Offset(0, 2) = "2" Target.Offset(0, 3) = "3" Target.Offset(0, 4) = "4" Else Range(Target.Offset(0, 1), Target.Offset(0, 4)).ClearContents End If End If End Sub