2017-10-13 56 views
0

在下面的代碼中,如果代碼在列G的單元格中找到「0」,那麼該行中的幾個單元格將被着色,我希望這些單元格僅在在同一行的G列和H列中發現值「0」,這怎麼辦?爲兩個單元格的值選擇條件併爲行着色

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

您的代碼可以簡化像這樣從顏色細胞到F在G和H具有0的給定行的:

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

是的,因爲如果單元格是空的,它被視爲「零」。您可以添加進一步的測試和cell.Value <>「」以避免這種情況。 –

+0

明白了,謝謝。 – FotoDJ

相關問題