2017-10-29 135 views
0

this question的启发,我走下了一个兔子洞,试图发现可应用于单元格的条件格式规则的最大允许数量。我从来没有听说过这样的限制。在我的研究中,我发现了对Excel 2007及更早版本的引用(herehere),但没有引用到更高版本的Excel。这似乎在早期版本中,条件格式规则的最大数量为3Excel 2016中条件格式规则的最大数量?

因此,以找出是否有在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分钟。

不是继续随机抽查大量数据(并等待几个小时的结果),我想我会去这个社区。这是一个主要的学术追求(我非常怀疑我将永远需要超过5000个条件格式规则),所以请让我知道如果这个问题不适合论坛。

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

如果没有人知道最大值,是否有编程方式来确定最大值?最好不要花5个小时跑...

感谢您的考虑!

+0

条件格式的重大变化是在Excel 2007中引入了“无限”条件。 Excel 2003有3个条件的限制 –

+0

然后,对于Excel 2007及更高版本,条件格式规则数量的唯一限制是计算机可以处理的数量? (在我的情况下〜5000) –

+0

对于未来用户:“范围内的条件数不再受数字限制。”请参阅[这里](https://msdn.microsoft.com/en-us/library/bb286672(v = office.11​​).aspx)。 –

回答

0

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