如果单元格突出显示,则Excel用户定义的函数

时间:2012-12-17 11:12:06

标签: excel vba user-defined-functions highlight if-statement

我创建了一个用户定义的函数来确定单元格是否突出显示特定的颜色,并且它在某些情况下有效,但不是我需要的那种;基本上它可以在该单元格永久突出显示该颜色时起作用,但我基于条件格式化,如果由于条件格式化单元格是该颜色,则该函数不起作用。

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

任何帮助,为什么会非常感激。

2 个答案:

答案 0 :(得分:0)

你可以在你的udf中使用条件格式使用的相同标准吗?而不是检查颜色,检查条件格式检查的因素。

答案 1 :(得分:0)

对于简单的条件格式(NONE-Color scaling type),你可以参考@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

否则你需要自己实现条件格式的颜色缩放类型。