2014-09-24 38 views
-1

我想對C列中的單元格進行顏色編碼,一個用於當它顯示「是」,另一個用於顯示「否」時。下面的代碼工作。但是我想讓它爲單元格C4和下,而不是C1,C2和C3着色。有小費嗎?另外,我可以提供任何提示根據另一個工作表的結果對單元格進行顏色編碼?謝謝=)用過的區域除外幾個單元格

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
For Each cell In ActiveSheet.UsedRange.Columns("C").Cells 
    If Len(cell.Value) > 2 Then 
     cell.Interior.ColorIndex = 3 
    ElseIf Len(cell.Value) < 3 Then 
    cell.Interior.ColorIndex = 4 
     End If 
    Next 
End Sub 
+0

從不使用USEDRANGE。你應該看看這個http://stackoverflow.com/questions/11169445/error-finding-last-used-cell-in-vba – 2014-09-24 13:44:47

回答

1

用途:

N = Cells(Rows.Count, "C").End(xlUp).Row 
For Each cell In Range("C4:C" & N) 
+0

謝謝=)作品完美=) – Nattugla 2014-09-24 14:13:59

0

爲什麼不增加額外的if語句?

IE:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
For Each cell In ActiveSheet.UsedRange.Columns("C").Cells 
    If cell.Row <> 1 And cell.Row <> 2 And cell.Row <> 3 Then 
     If Len(cell.Value) > 2 Then 
      cell.Interior.ColorIndex = 3 
     ElseIf Len(cell.Value) < 3 Then 
      cell.Interior.ColorIndex = 4 
     End If 
    End If 
Next 
End Sub 
+0

'如果cell.Row> 3然後'可能縮短。 – pnuts 2014-09-24 14:41:14

+0

這是非常真實的!^ – 2014-09-24 15:09:22

+0

然而,我不確定OP是否願意這樣做! – pnuts 2014-09-24 15:11:59

相關問題