| 
    
     |  | ▼りった さん: 
 返信ありがとうございます。
 何回も質問ばかりして申し訳ないのですが、
 
 3つのループの違いがいまいちわからないのですが
 一番下の無関係な広範囲の・・・ものが
 一番処理的には、良いのでしょうか?
 
 また、下記のコードですが、
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 
 ' A1に値が入力されていないとB1,C1,D1,E1,F1は、入力できずに
 '「大項目を入力して下さい」とエラーメッセージがでるようにする
 ' n:1〜41
 
 Dim r As Range
 
 If Not Intersect(Target, Sheet1.Range("B1:F41")) Is Nothing Then ' ★
 
 For Each r In Target
 If Not Intersect(r, Sheet1.Range("B1:F41")) Is Nothing Then
 If Sheet1.Range("A" & r.Row) = "" Then
 
 Application.EnableEvents = False
 Target.Value = ""
 Application.EnableEvents = True
 
 MsgBox "大項目を入力して下さい", Title:="入力エラー!", Buttons:=vbCritical + vbRetryCancel
 
 End If
 End If
 Next
 End If
 End Sub
 
 キャンセルの場合は、値が消えるようにしてみたのですが
 一応動いているみたいですが、こんな感じで間違ってないでしょうか?
 
 
 |  |