【发布时间】:2017-10-29 04:26:13
【问题描述】:
受this question 的启发,我陷入了困境,试图发现可应用于单元格的条件格式规则的最大允许数量。我从来没有听说过这样的限制。在我的研究中,我确实找到了对 Excel 2007 和更早版本(here 和 here)的引用,但没有对更高版本的 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 2007 中引入了“无限”条件。 Excel 2003 有 3 个条件的限制
-
那么对于 Excel 2007 及更高版本,条件格式规则数量的唯一限制是计算机可以处理的数量? (在我的情况下〜5000)
-
对于未来的用户:“范围内的条件数不再受数字限制。”见here。
-
这个问题真的应该关闭,因为它与编程无关。我知道这个问题中有代码,但代码不是问题的主题,只是测试可以应用多少条件的工具。这是关于在 Excel 中格式化单元格的问题。这与编程无关。
-
@Enigmativity 这是有道理的。我会删除帖子。
标签: excel conditional-formatting excel-2016