Excel 2016中的条件格式设置规则的最大数量?

时间:2017-10-29 04:26:13

标签: excel conditional-formatting excel-2016

受到this question的启发,我试图发现可以应用于单元格的最大允许条件格式规则数量。我从来没有听说过这样的限制。在我的研究中,我确实找到了对Excel 2007及更早版本(herehere)的引用,但没有引用更高版本的Excel。在早期版本中,条件格式规则的最大数量为3。

因此,为了找出Excel 2016中是否存在最大值,我编写了一个宏来创建数千条条件格式规则:

Sub CondForm()

On Error GoTo ErrHandle

Application.ScreenUpdating = False

Dim Upper As Integer
Upper = 8000

Dim Start As Double
Start = Timer

Dim Rng As Range
Set Rng = Range("A1")

Dim Text() As String
ReDim Text(1 To Upper)

Rng.FormatConditions.Delete

    For i = 1 To Upper
        Text(i) = "Text" & i
        With Rng.FormatConditions.Add(xlCellValue, Operator:=xlEqual, Formula1:=Text(i))
            .Interior.Color = RGB(Int(255 * Rnd), Int(255 * Rnd), Int(255 * Rnd))
        End With
    Next i

ExitHandle:
    Application.ScreenUpdating = True
    Debug.Print Upper & ", " & Timer - Start
    Exit Sub

ErrHandle:
    MsgBox "There was an Error: " & Chr(10) & Err.Number & ", " & Err.Description, vbExclamation
    Resume ExitHandle

End Sub

我能够为一个单元格编写至少10​​,000个单独的规则。但是,在编辑单元格时,超过5,000的任何内容都会导致我的文件崩溃。应该注意的是,运行宏所花费的时间似乎呈指数增长。编写1,000条规则花了大约6秒钟,编写5,000条规则花了3分钟,编写10,000条规则大约需要23分钟。

我没有继续随机抽查大数(并等待几个小时的结果),我以为我会带着这个去社区。这主要是学术上的追求(我非常怀疑我需要超过5,000条条件格式规则),所以如果这个问题不适合论坛,请告诉我。

我的问题是:是否可以在Excel中应用最大数量的条件格式设置规则?

如果没有人知道最大值,是否有一种编程方式来确定最大值?最好是一个不需要5个小时才能运行...

感谢您的考虑!

1 个答案:

答案 0 :(得分:0)

使用Excel 2013,我发现如果您有很多(数百个)条件格式规则来处理单个单元格和单元格区域的混合,那么当您尝试复制和粘贴命令时,它会导致Excel冻结旋转甜甜圈和标题栏显示"没有响应"。然后,您必须使用任务管理器杀死Excel,然后通常的文档恢复。我通过清除所有条件格式规则来验证这一点,并且单个和单元格范围的复制和粘贴按预期工作。因此,虽然可能没有规定的限制,但在Excel冻结之前,条件格式规则的数量肯定存在操作限制 - 非常烦人!此致,Anthony Maw,加拿大温哥华