1
下面的代碼適用於大多數表在我的工作簿:忽略格式條件集合中不是格式條件的項目?
Function IsHighlighted() As Boolean
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
Dim rUsedRange As Range
Set rUsedRange = wks.UsedRange
With rUsedRange
Dim bHighlighted As Boolean
Dim fc As Object
For Each fc In .FormatConditions
If fc.Interior.Color = RGB(255, 0, 0) And fc.Font.Color = RGB(255, 255, 0) Then
bHighlighted = True
Exit For
End If
Next fc
If bHighlighted = True Then
Exit For
End If
End With
Debug.Print (wks.Name & "," & rUsedRange.FormatConditions.count)
Next wks
IsHighlighted = bHighlighted
End Function
但一些我的牀單含有圖標集。
顯然: 的FormatConditions
收集包括FormatCondition
,DataBar
,AboveAverage
,ColorScale
,UniqueValues
,Top10
和IconSetCondition
對象,不只是FormatCondition
對象。 有關更多上下文,請參閱:For each fc in range.formatconditions fails. Why?
其中一些沒有.Interior.Color
,因此if語句會引發錯誤。
什麼是一種很好的方式,我可以跳過格式條件集合中所有這些類型爲formatcondition的對象?
我嘗試使用VarType(fc)
來確定obejct類型,但它只能回退一個9,它表示fc
是某種對象。
出於某種原因,我沒有得到它的工作時,我嘗試過。但它效果不錯 – user1283776 2015-02-11 18:49:42
很高興成爲服務。 – 2015-02-11 18:54:42