|
楼主 |
发表于 2024-1-9 13:17
|
显示全部楼层
现在的办法是将条件格式分开做,每一列单元格只做一个条件格式,另外多写段代码,如是2007版本就报错跳用2007相关的代码,如是2010以上版本就用另一段代码
Sub 填充色解释()
On Error GoTo line1 '遇错误继续执行,执行2007版本
If Selection.Count = 1 And Selection.FormatConditions.Count > 0 Then
ys = Selection.Displayformat.Interior.ColorIndex '颜色2010版本以上使用Displayformat,如不能使用则错误跳过执行LINE1
For Each ranys In Sheets("问题建议").Range("a2:a10")
If ranys.Displayformat.Interior.ColorIndex = ys Then
MsgBox ranys.Offset(0, 1) & ": " & ranys.Offset(0, 2), 1, "单元格条件格式及种颜色含义"
yss = yss + 1
End If
Next
If yss = 0 Then MsgBox Sheets("问题建议").Range("c11"), 1, "单元格条件格式及颜色含义" '如没有循环颜色 ,则显示所有颜色解释
End '如前面执行没问题,退出程序,不执行2007版本要求
line1: '2007版本执行以下代码
ys = Selection.FormatConditions(1).Interior.ColorIndex '颜色2010版本以上使用Displayformat,如不能使用则错误跳过执行LINE1
For Each ranys In Sheets("问题建议").Range("a2:a10")
If ranys.Interior.ColorIndex = ys Then
MsgBox ranys.Offset(0, 1) & ": " & ranys.Offset(0, 2), 1, "单元格条件格式及种颜色含义"
yss = yss + 1
End If
Next
If yss = 0 Then MsgBox Sheets("问题建议").Range("c11"), 1, "单元格条件格式及颜色含义" '如没有循环颜色 ,则显示所有颜色解释
Else
MsgBox Sheets("问题建议").Range("c11"), 1, "该单元格未使用条件格式" '如没有条件格式 ,则显示所有颜色解释
End If
End Sub |
|