excel - 如何通过VBA代码获取Excel 2012条件格式的色标制作的颜色

我需要知道:如何通过 VBA 代码获取 Excel 2010 条件格式的色标生成的颜色。 VBA 随后将根据下图将这些颜色分配为图表背景:

www.lnkm.cz/Slozka/Example.jpg http://www.lnkm.cz/Slozka/Example.jpg

我对各种网络方面进行了研究,并且:

  1. 大多数人建议如何通过方法读取条件格式的颜色 <Cell>.FormatConditions(index that is active).Interior.ColorIndex 但在我的情况下它不起作用,因为错误“对象不支持此属性或方法”
  2. 有些人建议编写自己的颜色计算(基于单元格值)。我找到了各种方法,但没有一种方法可以计算出与 excel 之前计算的颜色相同的颜色(与上一张图片相同的颜色)。

所以我问:

  1. 有没有办法直接从单元格中准备好颜色? (或者 API 无法访问这些颜色)
  2. 你知道如何计算与 excel 计算相同的颜色吗?
  3. 您知道如何解决我的问题吗?

我相信它必须以某种方式工作。

最佳答案

如果没有提供更好的答案,您可以尝试以下解决方法:

  1. 将您的数据链接/复制到图表下方的单元格(使用 =Sheet1!A1 等公式)
  2. 应用相同的条件格式
  3. 隐藏值(使用自定义数字格式,如 "",即空字符串文字(2 个双引号))
  4. 使图表透明
  5. 将单元格与图表对齐

更新:

如果条件格式仅对 2 个极端情况使用 2 种基色 (r1, g1, b1) 和 (r2, g2, b2),则您可以尝试通过线性逼近每个 R、G、B channel 来计算颜色可以是

  • minmax ,例如:0 - 4 000
  • minmax percent,例如:10% - 90%
    (相信你可以使用% * [max_value - min_value] 得到实际值)
  • minmax 百分位,例如:第 0 个百分位 - 第 100 个百分位

对于百分比/百分位选项,您首先需要将实际值转换为百分比/百分位值,然后如果 value < minvalue > max使用角颜色,否则:

r = r1 + (r2 - r1) * (value - min_value) / (max_value - min_value)
g = ...
b = ...

https://stackoverflow.com/questions/9773357/

相关文章:

android - Eclipse AndroidManifest.xml 格式

list - VIM 中的格式化列表

c++ - 你如何设置 cout 语言环境来插入逗号作为千位分隔符?

android - 对话框中忽略的 Html 格式标记

scala - Intellij Scala 多种导入样式格式设置

javascript - Number().toLocaleString() 在不同的浏览器中有不同

python - 我们应该为 python 变量名使用哪些缩写?

iphone - NSDictionary `description` 格式化问题 - 将结构视为

java - 如何将字符串解析为 java.sql.date

powershell - 如何在不截断值的情况下使用 Format-Table?