|
▼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
消した行のチェンジイベントが動いてしまっていると思うのですが。
また他につまらないことをやっていなければ良いのですが(^_^;)
これを見て、思い当たることがありましたら教えて下さい。
|
|