Vba Excel 2007的FormatCondition错误

Vba Excel 2007的FormatCondition错误,vba,excel,Vba,Excel,下面的代码在Excel 2013上运行良好。但在Excel2007上,我遇到了一些问题 Function IsMasked() As Boolean Dim wksTables As Worksheet Set wksTables = GetSheetByCodename(ThisWorkbook, "wTables") Dim loMask As ListObject Set loMask = wksTables.ListObjects("tMask")

下面的代码在Excel 2013上运行良好。但在Excel2007上,我遇到了一些问题

Function IsMasked() As Boolean

    Dim wksTables As Worksheet
    Set wksTables = GetSheetByCodename(ThisWorkbook, "wTables")

    Dim loMask As ListObject
    Set loMask = wksTables.ListObjects("tMask")

    Dim lor As ListRow
    For Each lor In loMask.ListRows
        Dim sWorksheetName As String
        Dim sRangeAddress As String
        Dim sCompleteAddress As String

        sWorksheetName = Intersect(lor.Range, loMask.ListColumns("Worksheet").DataBodyRange)
        sRangeAddress = Intersect(lor.Range, loMask.ListColumns("Range").DataBodyRange)

        Dim R As Range
        Set R = ThisWorkbook.Worksheets(sWorksheetName).Range(sRangeAddress)

        With R
            Dim bMasked As Boolean

            Dim fc As Object
                For Each fc In .FormatConditions
                    If TypeName(fc) = "FormatCondition" Then
                        If fc.Interior.Color = RGB(0, 0, 0) And fc.Font.Color = RGB(0, 0, 0) Then
                            'Range has mask if any formatcondition is mask
                            bMasked = True
                            Exit For
                        End If
                    End If
                Next fc

            If bMasked = False Then
                'Mask is false if any specified range does not have mask
                Exit For
            End If
        End With
    Next lor

    IsMasked = bMasked
End Function
如果fc.Interior.Color=RGB(0,0,0)和fc.Font.Color=RGB(0,0,0)
计算结果为true,即使内部颜色设置为nothing且字体颜色为红色


当我在“局部变量”窗口中查看
fc
时,许多属性表示
应用程序定义的
对象定义的错误
。我不知道这是否有任何线索。

您是否将
fc
声明为与Object相对的变体?我现在尝试了,但没有任何区别。