自动将使用条件格式的单元格的背景颜色复制到另一个单元格

时间:2021-03-19 11:44:01

标签: excel vba colors conditional-formatting fill

我在为以下场景寻找解决方案时刚刚发现了 VBA:

我有一个包含下表的 Excel 工作簿:

enter image description here

我正在尝试创建一个图表,比较显示每个团队的得分。 我希望图表也复制单元格的颜色,但这是不可能的,因为 A 列中包含团队名称的单元格没有填充。

我想要做的是让 VBA 代码自动将颜色从 B1 复制到 A1,从 B2 复制到 A2,从 B3 复制到 A3,等等。 我找到了几篇带有代码的文章,但都没有奏效,因为 B 列中的单元格填充了基于条件格式的某种颜色。

此外,由于我对此很陌生,因此我需要您解释如何执行与 VBA 相关的特定操作。

1 个答案:

答案 0 :(得分:0)

依赖于条件格式的颜色可以通过 Range.DisplayFormat property 获得。

所以您的要求可以使用以下代码来满足:

Sub copyConditionalColors()
 Dim r As Range
 Dim c As Range
 Set r = ActiveSheet.Range("B1:B5")
 For Each c In r
  c.Offset(0, -1).Interior.Color = c.DisplayFormat.Interior.Color
 Next

End Sub
相关问题