| 
    
     |  | いつも参考にさせていただいています。 今回、XlsシートのB1に文字を入力すると動作をする
 VBAを下記のようにシートモジュールに記述したのですが
 バグが出てしまって困ってます。
 B1以外のところでも、選択してDeleteを押すと赤く色がかわっちゃうんです
 そうならないように、指定したつもりなんですが・・・・。
 どこが悪いのか、ご指摘いただきたいのです。
 
 動作: B1に社員NOを入力すると、範囲D1からD10にMENUを表示し
 I9(MENUの入力エリア)に数字をいれて次のアクションを
 選択します。
 
 どうぞよろしくお願いします。
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count = 1 Then
 If Target = Range("B1") And Target.Value <> "" Then
 Range("B1").Interior.ColorIndex = xlNone
 社員番号出力
 End If
 If Target = Range("B1") And Target.Value = "" Then
 Target.Interior.ColorIndex = 3
 MsgBox ("社員番号を入力してください")
 Exit Sub
 End If
 If Target = Range("I9") Then
 Select Case Target.Value
 Case 5:
 Call FormTest
 Range("I9").Activate
 ActiveCell.Clear
 Case 6:
 M消去
 Range("B1:B5").Value = ""
 Range("B1").Activate
 Case Else
 Range("I9").Activate
 ActiveCell.Clear
 End Select
 End If
 End If
 End Sub
 
 Private Sub M出力()
 '
 With ActiveSheet
 .Range("D1:J10").Interior.ColorIndex = 1
 .Range("D1:J10").Font.ColorIndex = 2
 .Range("I9").Interior.ColorIndex = xlNone
 .Range("I9").Font.ColorIndex = 0
 .Range("E1") = "処理選択MENU"
 For i = 2 To 7
 .Cells(i, 5).Value = "'" & i - 1 & " :"
 Next
 .Range("F2").Value = "工番申請入力"
 .Range("F3").Value = "工番検索"
 .Range("F4").Value = "マスタ保守"
 .Range("F5").Value = ""
 .Range("F6").Font.ColorIndex = 3
 .Range("F6").Value = "社員マスタメンテ"
 .Range("F7").Value = "終了"
 .Range("I9").Activate
 End With
 End Sub
 
 Sub M消去()
 Dim R_Menu As Range
 Set R_Menu = Range("D1:J10")
 With R_Menu
 .Clear
 '  .Interior.ColorIndex = xlNone
 '  .Font.ColorIndex = 0
 End With
 End Sub
 
 
 |  |