| 
    
     |  | ▼kobasanさん、neptuneさん 返事が遅れて申し訳ありません。
 試してみたのですが状況が変わりませんので、別の理由のようです。
 もう少しコードを拡大して載せます。
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 
 '''品名に合わせたリストを選択し表示させる
 If Not Intersect(Target, Range("C7:C26")) Is Nothing Then
 On Error Resume Next 'エラーを無視する
 Application.EnableEvents = False  ←働いていない
 If Target.Value = Empty Then
 Range(Target.Offset(, 1), Target.Offset(, 9)).ClearContents
 Else
 '名前を付け
 名前 = ActiveCell.Value
 '品目を選択した行の右隣のリストを名前付けしたものに変更
 With Selection.Offset(0, 1).Validation
 .Delete
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
 xlBetween, Formula1:="=" & "部品_" & 名前
 .IgnoreBlank = True
 .InCellDropdown = True
 .IMEMode = xlIMEModeNoControl
 .ShowInput = True
 .ShowError = True
 End With
 Application.EnableEvents = True
 End If
 End If
 
 ※下記のコードが動いてしまっているようです。
 
 If Not Intersect(Target, Range("D7:D26")) Is Nothing Then
 省略
 End If
 
 If Not Intersect(Target, Range("E7:E26")) Is Nothing Then
 省略
 End If
 
 If Not Intersect(Target, Range("I7:I26")) Is Nothing Then
 省略
 End If
 
 End Sub
 
 消した行のチェンジイベントが動いてしまっていると思うのですが。
 また他につまらないことをやっていなければ良いのですが(^_^;)
 これを見て、思い当たることがありましたら教えて下さい。
 
 
 |  |