2015-04-08 69 views
0

工作,試圖計算使用VBA代碼此peice的在我的工作表中的某些顏色的單元格數目:計數有色細胞不具有條件格式在Excel

Function CountRed(MyRange) 
CountRed = 0 
For Each Cell In MyRange 
If Cell.Interior.Color = RGB(255, 0, 0) Then 
CountRed = CountRed + 1 
End If 
Next Cell 
End Function 

基本上,計數紅細胞的數量。現在,這工作正常,如果我自己給他們上色,但如果我把條件格式在我的工作表中着色這些單元格,它不起作用。

這裏是我的情況:

=AND(NOT(ISBLANK(A3)),ISBLANK(D3)) 

基本上,如果第一個單元格填充,這一次沒有再上色它紅色。

現在,當我使用我的'CountRed'函數來查看這個單元格(具有條件格式的單元格)是否爲紅色時,它不起作用,但是當我'覆蓋'它時,即填充它自己並再次運行該函數有用。

我想也許這是一個與條件格式做CountRed函數之前被調用,但我沒有任何運氣:(

+1

CF不會更改'Interior.Color'屬性。您最好使用一個公式來計算符合您的條件的單元格。從2010年開始,有一個'Displayformat'屬性反映了顯示的格式,但它不適用於從單元調用的UDF。 – Rory

+0

啊,我不知道,我做到了。感謝您的幫助,指出我在正確的方向:)) –

回答

1

這是因爲條件格式不Interior.color收集的,因此部分不能被讀取或計數根據條件格式的單元格中的底層值是什麼,您可以改爲文字值

例如,將單元格值設置爲紅色,綠色,黃色但設置條件格式設置背景顏色和前景顏色相同(例如紅色爲紅色,綠色爲綠色等)。這樣您就可以計算一些東西了。想要獲得有條件的顏色作爲要計數的列。

+0

乾杯的人,會放棄它:) –