|
いつも参考にさせていただいています。
今回、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
|
|