受到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的任何内容都会导致我的文件崩溃。应该注意的是,运行宏所花费的时间似乎呈指数增长。编写1,000条规则花了大约6秒钟,编写5,000条规则花了3分钟,编写10,000条规则大约需要23分钟。
我没有继续随机抽查大数(并等待几个小时的结果),我以为我会带着这个去社区。这主要是学术上的追求(我非常怀疑我需要超过5,000条条件格式规则),所以如果这个问题不适合论坛,请告诉我。
我的问题是:是否可以在Excel中应用最大数量的条件格式设置规则?
如果没有人知道最大值,是否有一种编程方式来确定最大值?最好是一个不需要5个小时才能运行...
感谢您的考虑!
答案 0 :(得分:0)
使用Excel 2013,我发现如果您有很多(数百个)条件格式规则来处理单个单元格和单元格区域的混合,那么当您尝试复制和粘贴命令时,它会导致Excel冻结旋转甜甜圈和标题栏显示"没有响应"。然后,您必须使用任务管理器杀死Excel,然后通常的文档恢复。我通过清除所有条件格式规则来验证这一点,并且单个和单元格范围的复制和粘贴按预期工作。因此,虽然可能没有规定的限制,但在Excel冻结之前,条件格式规则的数量肯定存在操作限制 - 非常烦人!此致,Anthony Maw,加拿大温哥华