Excel 如果第一个单元格中的值发生更改,则用于更改下三个单元格的代码

Excel 如果第一个单元格中的值发生更改,则用于更改下三个单元格的代码,excel,vba,Excel,Vba,下面是我的代码 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) 'clear contents of dependent cells On Error Resume Next If Target.Validation.Type = 3 Then Application.EnableEvents = False Select Case Target.Column Case 6 'clear

下面是我的代码

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'clear contents of dependent cells
On Error Resume Next
If Target.Validation.Type = 3 Then
  Application.EnableEvents = False

  Select Case Target.Column
    Case 6  'clear columns G, H and I
      Range(Target.Offset(0, 1), _
        Target.Offset(0, 2)).ClearContents

    Case 7 'clear column H and I
    Range(Target.Offset(0, 1), _
    Target.Offset(0, 2)).ClearContents

    Case 8  'clear column I
      Target.Offset(0, 1).ClearContents
  End Select
End If

exitHandler:
  Application.EnableEvents = True
  Exit Sub

End Sub
我有4个列,它们有相关的下拉列表。 我想要的是,当我更改第一列中的值时,接下来的三列应该被清除。但是,下面的代码仅将其限制为两列,而不是第三列

请检查并建议如何操作

谢谢
Salman

范围(Target.Offset(0,1),Target.Offset(0,2))替换为
目标.Offset(0,1)。调整(,3)的大小
或在原始代码中将第二个偏移更改为3。感谢SJR整理此问题。。。