use*_*776 3 excel vba excel-vba
以下代码适用于我的工作簿中的大多数工作表:
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
Run Code Online (Sandbox Code Playgroud)
但它失败For Each fc In .FormatConditions了,工作表上的错误消息类型不匹配rUsedRange.FormatConditions.Count = 34,其中有许多是图标集.
为什么代码在此表上失败?我该如何解决?
该FormatConditions系列包括FormatCondition,DataBar,AboveAverage,ColorScale,UniqueValues,Top10和IconSetCondition对象,而不仅仅是FormatCondition对象,所以你需要声明的fc变量Object.