2017-10-13 1 views
0

以下のコードでは、列Gのセルでコードが「0」を見つけた場合、その行のセルは色付けされていません。値 "0"は同じ行の列Gと列Hにありますが、これはどのように行うことができますか?2つのセルの値の条件を選択し、行の色を設定します

With Worksheets("Sheet3") 


    For Each cell In Range("G2:G" & LastRow) 
     If cell.Value = "0" Then 
      cell.Range("A1:F1").Offset(0, -5).Interior.ColorIndex = 20 
     ElseIf cell.Value = "1" Then 
      cell.Range("A1:F1").Offset(0, -5).Interior.ColorIndex = 43 
     Else 
      cell.EntireRow.Interior.ColorIndex = xlNone 
     End If 
    Next 
End With 
+0

条件付き書式: '= AND($ G1 = 0 、$ H1 = 0) ' –

答えて

1

コードがからGとH 0を有する所与の行のF個の細胞を着色するために、このように単純化することができる。

With Worksheets("Sheet3") 
    For Each cell In Range("G2:G" & LastRow) 
     currentRow = cell.Row '<-- change 
     If cell.Value = 0 And Range("H" & currentRow).Value = 0 Then '<-- change 
      Range("A" & currentRow & ":F" & currentRow).Interior.ColorIndex = 20 '<-- coloring from A to F of the same row 
     End If 
    Next cell '<-- change 
End With 
+0

あなたのコードをテストしたところ、私は気づいたところでは、コードは空のセルを値0にするように扱うので、その隣の空のセルの値0 .... – FotoDJ

+0

はい、セルが空の場合は「ゼロ」と見なされます。これを避けるには、さらにテストとセルを追加するだけです.Value <> "" –

+0

ありがとう、ありがとう。 – FotoDJ

関連する問題