以下代码适用于我的工作簿中的大多数工作表:
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 FormatCondition
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
但是它在
For Each fc In .FormatConditions
行上失败,并且工作表上的错误消息类型不匹配,该工作表具有 rUsedRange.FormatConditions.Count = 34
其中许多是图标集。为什么此表上的代码失败?我该如何解决?
最佳答案
FormatConditions
集合包括 FormatCondition
、 DataBar
、 AboveAverage
、 ColorScale
、 UniqueValues
、 Top10
和 IconSetCondition
对象,而不仅仅是 FormatCondition
对象,因此您需要将 fc
变量声明为 Object
。
关于vba - 对于 range.formatconditions 中的每个 fc 失败。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28456730/