excel - Excel 2016 中条件格式规则的最大数量?

标签 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 的任何内容都会导致我的文件在编辑单元格时崩溃。应该注意的是,运行宏所需的时间似乎呈指数增长。编写 1000 条规则大约需要 6 秒,编写 5000 条规则大约需要 3 分钟,编写 10000 条规则大约需要 23 分钟。

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

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

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

感谢您的考虑!

最佳答案

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

关于excel - Excel 2016 中条件格式规则的最大数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46996846/

相关文章:

Excel IF() 公式检查数字字符

excel - 将 Access 表从 Excel VBA 导出到 dBase 文件?

excel - 提高从 Excel 到 Matlab 读取数据的速度

google-sheets - 如果谷歌电子表格的同一列中的值重复,如何突出显示单元格?

vba - 为什么我的函数假设有一个缺失的参数?

excel - 文本到时间(毫秒)

excel - 将 Hex 文件转换为 Excel 文件

vba - 查找并删除 Excel 单元格内的文本

vba - 突出显示单个范围内的重复项

SharePoint Designer 2010 - 使用条件格式确定今天的日期是否在开始日期列的 x 天内