ですので、以下のコードを実行しようとしています。要点までまっすぐでなければなりません。なぜそれが機能していないのか分かりません。セルb2が「John」であり、セルO2が空の場合、O2は赤でなければなりません。 O2が空でない場合は、色付きではありません。VBAの色の強調表示は、IFに基づいて
助けが必要です。
Sub columnO(d As Long)
If Cells(d, "B") = "John" And Cells(d, "O") = "" Then
Cells(d, "O").Interior.Color = RGB(255, 0, 0)
Else
Cells(d, "O").Interior.Color = RGB(1000, 1000, 1000)
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("B10:O10000"), Target) Is Nothing Then
columnO Target.Row
End If
End Sub
問題の原因がわからないときにどのように機能しないのかわかりません。 – SJR
"B2"は変更中で、 'Worksheet_Change'イベントで' Range( "B10:O10000") 'を探しているので、" B2 "はイベントをトリガーしません。行10(2ではなく)から探し始めます。 –
問題は、セル、つまりB2に「John」と書いて、セルO2が空の場合、セルO2が赤で表示されないということです。 – geocc