无法评估COUNTIF函数的条件格式

时间:2014-02-12 15:10:54

标签: excel vba excel-vba conditional-formatting

我在检查VBA中的条件格式是否等于true时遇到问题。格式化在电子表格上正常工作并更改单元格颜色,但是当使用COUNTIF函数时,VBA显示没有应用条件。

在一个范围内的每个单元格中,我设置了三个条件:

1: =WEEKDAY(DATE($B$4,$A$5,$C$4),2)>5 - Changes colour if the day is a weekend (light blue)
2: =COUNTIF($AL:$AL,DATE($B$4,$A$5,$C$4))>0 - Checks a range (AL column) to see if the date appears in it (dark blue)
3: =COUNTIF($AM:$AM,DATE($B$4,$A$5,$C$4))>0 - Same as above but checks a different column (yellow)

它是假日电子表格。 AL栏保留所设置的任何公共假日,而AM栏保留公司设定的假期。然后日历会在周末和假日时突出显示网格

B4 - 年 A5 - 月 C4 - 日期

A5& C4地址根据选择的单元格而变化但是我必须使用绝对地址,因为评估不适用于相对地址。

在我的VBA代码中,我需要检查是否已应用条件并为公共hols设置值“P”或为公司hols设置“Z”值。运行VBA时,它无法识别已满足这些条件。

条件1被选为TRUE,但即使工作表上的颜色发生了变化,也看不到其他2个条件何时被满足?

我尝试在COUNTIF中取出DATE并对字符串进行硬编码,但仍然没有在VBA中取出它,所以不是那样。

要在VBA中返回活动条件我正在使用:

For Ndx = 1 To Rng.FormatConditions.Count
    Set FC = Rng.FormatConditions(Ndx)

        If Application.Evaluate(FC.Formula1) Then
           ActiveCondition = Ndx
           Exit Function
        End If

Next Ndx

0 个答案:

没有答案