2017-10-29 211 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凍結之前,條件格式規則的數量肯定存在操作限制 - 非常煩人!此致,加拿大溫哥華安東尼毛,