Vba Excel 2007的FormatCondition错误
下面的代码在Excel 2013上运行良好。但在Excel2007上,我遇到了一些问题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")
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相对的变体?我现在尝试了,但没有任何区别。