繁体   English   中英

基于行中其他单元格的值和内部颜色的单元格内部颜色格式

[英]Cell Interior Color formatting based on other cells' value AND interior color in row

我正在尝试使各种最终用户更容易阅读现有的大型电子表格。 我无法分享实际的电子表格,但制作了这个示例页面来展示我正在尝试做的事情。

https://ibb.co/VY3c8c8

我想根据电子表格另一端该行中单元格的值和颜色来编辑 A 列中每个单元格的背景颜色。 例如,如果 C1:G1 中值 = X 或 O 且颜色为绿色的每个单元格,请将 A1 填充设置为绿色。

我觉得我错过了一条简单的关键信息,但没有找到它可能是什么的运气。

我尝试了各种各样的条件格式,但相信这是不可能的,因为您不能将 Interior.Color 拉入公式。

我尝试了各种各样的 vba,取得了不同程度的成功,但没有找到任何完全有效的方法。 以下是我使用过的一些资源:

https://www.bluepecantraining.com/portfolio/excel-vba-macro-to-apply-conditional-formatting-based-on-value/

https://social.technet.microsoft.com/Forums/en-US/2fffa4d8-bbba-473b-9346-5fce8f0728a8/using-vba-to-change-a-cell-colour-based-on-the-information- in-a-different-cell-excel-2010?forum=excel

VBA 检查单元格内部颜色

查找具有特定内部颜色的单元格

在这一点上,我的编码尝试非常混乱,我没有任何有意义的代码尝试可以随时粘贴在这里。

使用内部单元格颜色时,VBA 中有两个选项。 第一个.Interior.Color ,第二个Interior.ColorIndex

现在重要的是要注意,如果您想检查单元格是否为某种颜色,您将需要一种统一的方法,以便您的所有用户使用完全相同的颜色。 例如,在 Excel 中使用默认的深绿色选项。

颜色: Debug.Print ActiveCell.Interior.Color在即时窗口中返回5287936 ColorIndex: Debug.Print ActiveCell.Interior.ColorIndex在即时窗口中返回14

如果我们要使用这些信息,我们可以简单地编写一个 if 语句来读取:

If Sheets("Sheet1").Range("C1").Interior.ColorIndex = 14 And Sheets("Sheet1").Range("C1").Text = "X" Then
    Sheets("Sheet1").Range("A1").Interior.ColorIndex = 14
End If

再次重申,所使用的颜色需要统一,以便您使用 VBA 进行选择。 此外,您现在编写一个简单的双For循环来完成您的任务,使用颜色和文本作为对 A 列着色的验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM