I have a table from A12 to AO29. The table headers are in row13.

I am working on a macro that deletes data in column D, E and I when the cell in column B is changed or deleted. The code below works fine, except that it is not deleting the data column D. Column D has a data validation list.

> 
> 
> ```
> Private Sub Worksheet_Change(ByVal Target As Range)
> Application.EnableEvents = True
> If Not Intersect(Target, Range("H6")) Is Nothing Then
>     Application.EnableEvents = False
>     Range("H8") = vbNullString
>     Range("H7") = vbNullString
>     Application.EnableEvents = True
> End If
> If Not Intersect(Target, Range("$H6")) Is Nothing Then
>     Range("A12:B29").ClearContents
>     Range("D12:E29").ClearContents
>     Range("I12:I29").ClearContents
>     Range("A33:F50").ClearContents
>     Range("J33:J50").ClearContents
>     Range("A54:H71").ClearContents
>     Range("L54:L71").ClearContents
>     Range("A75:H92").ClearContents
>     Range("L75:L92").ClearContents
>     Range("A96:E113").ClearContents
>     Range("I96:I113").ClearContents
>     Range("A117:B134").ClearContents
>     Range("F117:F134").ClearContents
>     Range("A138:C156").ClearContents
>     Range("G138:G159").ClearContents
>     Range("A160:C177").ClearContents
>     Range("G160:G177").ClearContents
>     Range("A181:C198").ClearContents
>     Range("G181:G198").ClearContents
>     End If
>  If Target.Count > 1 Then Exit Sub
> 
> ```
> 
> 

```
 If Not Intersect(Target, Range("A12:A29")) Is Nothing Then
    On Error GoTo haveError
    Application.EnableEvents = False

    If Target.Column = 1 Then Target.Offset(0, 1).clearcontent
    Target.EntireRow.Range("B1,D1,E1,I1").ClearContents

    Application.EnableEvents = True
 End If
    If Not Intersect(Target, Range("B12:B29")) Is Nothing Then
    On Error GoTo haveError
    Application.EnableEvents = False

    If Target.Column = 1 Then Target.Offset(0, 1).clearcontent
    Target.EntireRow.Range("D1,E1,I1").ClearContents
 End If
    If Not Intersect(Target, Range("D12:D29")) Is Nothing Then
    On Error GoTo haveError
    Application.EnableEvents = False

    If Target.Column = 1 Then Target.Offset(0, 1).clearcontent
    Target.EntireRow.Range("E1,I1").ClearContents
 End If
    If Not Intersect(Target, Range("E12:E29")) Is Nothing Then
    On Error GoTo haveError
    Application.EnableEvents = False

    If Target.Column = 1 Then Target.Offset(0, 1).clearcontent
    Target.EntireRow.Range("I1").ClearContents

    Application.EnableEvents = True
 End If
 Exit Sub

 haveError:
 Application.EnableEvents = True

```