|
エクセルで、各項目への入力漏れを減らすために、最初のセルに入力があれば、他の入力必須項目に薄灰色文字で「入力」と表示させ、そこに入力があるとその文字が消え、通常通りに黒文字で入力ができるようにしたいです。
VBAをどうにか調べて書き、
1. 最初のセルに入力があれば、他の必須項目に薄灰色文字で「入力」と表示させる
2. 最初のセルが空白になれば、他の必須項目の「入力」が消える
ようには出来たのですが、実際に必須項目に「入力」と表示されたセルに文字入力をしようとすると、
1. 上書きが全くできず灰色文字の「入力」に戻ってしまう
2. 最初のセルが空白であれば、入力必須項目に入力しても空白になる
という状況です。
下記の通りのVBAを作ってみたのですが、どこが間違っているのでしょうか?
どのように記載すればよいでしょうか?
どなたかご教示をお願いします。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Application.ScreenUpdating = False
If Range("D8") <> "" Then
Call 入力推奨文字表示
Else
Range("R5,Y6,Y9,AB6,AB9,AG5,AM5,AS6,AS9,AX9,AY6,BF7,BF9,BG5,BL5") = ""
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Sub 入力推奨文字表示()
Application.EnableEvents = False
Application.ScreenUpdating = False
With Range("R5,AB6,AB9,AG5,AM5,AS6,AS9,AX9,AY6,BF7,BF9,BG5")
.Value = "入力"
.Font.ColorIndex = 15
.Font.Bold = True
End With
選択
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Sub 選択()
Application.EnableEvents = False
Application.ScreenUpdating = False
Range("Y6,Y9") = "未"
Range("BL5") = "選択"
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
|
|