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