セル値が 0 の場合、動的範囲 (列内) で表示しようとしています。そうであれば、ポップアップ メッセージを表示し、列 A、B、C (同じ行番号) の色を赤。
どんな助けでも大歓迎です.!! ありがとうございました。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range(Cells(9, "AD"), _
Cells(Rows.Count, "AD").End(xlUp).Resize(, 1))
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
If Application.Intersect(KeyCells, Range(Target.Address)) = 0 Then
MsgBox "Row " & Target.Address & " will not be considered."
End If
~~ 上記のIF
ブロックで以下のコードを使用してみましたが、すべての行 (現在のカウントまで) で同じ結果が得られ、背景色が変更されます。A, B , C
色の変更をその行と列(セル)だけに制限するつもりです。
~~ ここで、セルの値が '0' の場合、最初の 3 列A, B, C
のセル (同じ行番号の列は別の背景色で更新する必要があります) を確認したいと思います。
~~ 行全体の色を赤に変更しようとしましたが、その間に現在の行までのすべての行の色が変わります。これは意図したものではありません。これは範囲が動的であるために発生していますか?
For Each Cell In KeyCells
Select Case Cell.Value
Case Is = 0
Cell.EntireRow.Interior.ColorIndex = 3
Case Else
Cell.EntireRow.Interior.ColorIndes = xlNone
End Select
Next
End If
End Sub