gpt4 book ai didi

Excel 2007 条件格式 - 如何获取单元格颜色?

转载 作者:行者123 更新时间:2023-12-01 18:11:05 25 4
gpt4 key购买 nike

假设我有以下范围 (a1:c3)

  A B C
1 -1 1 1
2 -1 0 0
3 0 0 1

现在我选择了以下范围,并使用条件格式对其进行格式化(使用默认的红黄绿色标)....现在范围颜色变成了

    A         B         C
1 Green Red Red
2 Green Yellow Yellow
3 Yellow Yellow Red

现在我想询问范围内任何单元格的颜色,例如MsgBox Range("A1").Interior.Color但它并没有说它是绿色的,为什么?请问你能帮我吗?

Range("A1").Interior.Color 始终返回 16777215Range("A1").Interior.ColorIndex 始终返回 -4142

(无论A1的颜色是红、蓝、绿……)

范围(“A1”,“C3”).FormatConditions.Count这个总是返回 0,为什么?

最佳答案

.Interior.Color 返回“真实”颜色,而不是条件格式的颜色结果。

@sss:无法通过 API 获得。

您能做的最好的事情就是测试您在条件格式中使用的相同条件。

为了避免出现重复代码,我建议将条件标准移至 UDF。示例:

Function IsGroup1(ByVal testvalue As Variant) As Boolean
IsGroup1 = (testvalue < 0)
End Function

Function IsGroup2(ByVal testvalue As Variant) As Boolean
IsGroup1 = (testvalue = 0)
End Function

Function IsGroup3(ByVal testvalue As Variant) As Boolean
IsGroup1 = (testvalue > 0)
End Function

然后在条件格式中使用这些公式:

=IsGroup1(A1)
=IsGroup2(A1)
=IsGroup3(A1)

然后您的代码不会查看单元格的颜色,而是查看是否满足条件:

If IsGroup1(Range("$A$1").Value) Then MsgBox "I'm red!"

关于Excel 2007 条件格式 - 如何获取单元格颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/996384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com