2012-12-17 73 views
1

我已經創建了一個用戶定義的函數來確定單元格是否突出顯示特定的顏色,它在某些情況下有效,但不是我需要的;基本上,當單元格永久高亮顯示該顏色時,它會工作,但是我將其基於條件格式,如果單元格是由於條件格式設置而生成的顏色,則此功能不起作用。Excel用戶定義函數,如果單元格高亮顯示然後

Public Function Active(Rng As Range) As Boolean 
     If Rng.Interior.Color = RGB(217, 151, 149) _ 
      Then Active = True 
    End Function 

任何幫助,爲什麼將不勝感激。

+3

您需要遍歷單元格的條件格式 - 請參閱Bob Phillips代碼http://www.xldynamic.com/source/xld.CFConditions.html#specific – brettdj

+0

@brettdj我已經嘗試了代碼,但似乎該項目rng.FormatConditions不再是'FormatCondition',而是'ColorScale'。我嘗試了幾種不同的條件格式。我使用Excel 2007中 – Larry

+0

看看[此SP後(http://stackoverflow.com/questions/7408899/how-do-i-find-the-fill-colour-value-of-a-conditionally -formatted-cell-in-excel-2) – chuff

回答

0

對於簡單的條件格式(NONE色縮放類型),你可以參考@brettdj和@Chuff的外部參考 http://www.xldynamic.com/source/xld.CFConditions.html#specific

How do I find the fill colour value of a conditionally formatted cell in Excel 2007 using vba?

對於顏色比例條件格式,我已經試過PasteSpecial的但它不起作用。

我唯一可行的解​​決方案是將範圍複製到MS Word中,然後將範圍複製回EXCEL。這將刪除條件格式。然後你可以得到的背景顏色爲 Cells(X,Y).interior.color

否則你需要實現自己的條件格式的顏色縮放類型。

0

你可以在udf中使用與條件格式相同的標準嗎?檢查顏色,而不是檢查條件格式檢查的因素。

+0

不是答案... – brettdj

相關問題