| 
    
     |  | ▼Ned さん: 深夜の回答
 ありがとうございます。
 説明よーくわかりました。
 
 追加でdelがもう一つ必要なってしまったのですが
 "Q17:Q550"をdelした場合r.Offset(, -16).ClearContents(A列)は
 下記コードにどのように組み込めばよいのでしょうか
 たびたびすみませんよろしくお願いします。
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim r As Range
 Dim rr As Range
 
 Set rr = Intersect(Target, Range("R17:R550"))
 If rr Is Nothing Then Exit Sub
 
 Application.EnableEvents = False
 For Each r In rr
 If r.Value = "" Then
 r.Offset(, -14).ClearContents
 r.Offset(, -17).ClearContents←ここを消去
 Else
 ★この部分はどのようにするのがベストでしょうか
 End If
 Next
 Set rr = Nothing
 End Sub
 
 >▼ooisi さん:
 >>★この部分はどのようにするのがベストでしょうか
 > r.Valueが""ではない時に何をさせたいか、ですが。
 >何もさせる必要がなければ何も書かなくても良いかと思います。
 >その時は
 >>Else
 >も不要です。
 >
 >また、あまりないと思いますが、
 >>If r.Value = "" Then
 >は例えば =IF(S17="","",1) などの数式を入れた時も TRUE と判断されますから
 >If IsEmpty(r.Value) Then
 >としておいたほうが良いかもしれません。
 
 |  |