|
こんばんは。
500行近くあるものが、Changeイベントでうまくいくか
自信がないのですが、基準値が提示されたパターンで、
B列、C列、D列に提示されたように入力されているなら、数値が入力されたときに
色づけできると思います。
Changeイベントの範囲は、
行はA列で見ています。
列は、2行目で見ています。
基準値がない場合はC列に"なし"とでも入れてください。
シートモジュールにコピペして、試してみてください。
うまくいかない場合は、上級者の回答をお待ちください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCol As Long
Dim myRow As Long
Dim myR As Range
With Target
If .Count > 1 Then Exit Sub
If IsEmpty(.Value) Then Exit Sub
If IsNumeric(.Value) = False Then Exit Sub
myCol = Cells(2, 256).End(xlToLeft).Column
myRow = Cells(Rows.Count, 1).End(xlUp).Row
Set myR = Range(Cells(3, 5), Cells(myRow, myCol))
If Not Application.Intersect(Target, myR) Is Nothing Then
Application.EnableEvents = False
.Interior.ColorIndex = xlNone
Select Case Cells(.Row, 3).Value
Case Is = "<"
If .Value <= Cells(.Row, 2).Value Or _
.Value >= Cells(.Row, 4).Value Then
.Interior.ColorIndex = 8
Else
.Interior.ColorIndex = 2
End If
Case Is = "<="
If .Value < Cells(.Row, 2).Value Or _
.Value > Cells(.Row, 4).Value Then
.Interior.ColorIndex = 8
Else
.Interior.ColorIndex = 2
End If
Case Else
.Interior.ColorIndex = 2
End Select
End If
Application.EnableEvents = True
End With
End Sub
|
|