Excel vba:逐行查找范围内的布尔值对

时间:2017-08-30 19:03:07

标签: excel vba loops search find

我正在尝试使用vba在excel表中解决一个相当基本的问题,但我找不到答案......

我正在制作一个时间表,该时间表是从其他excel表中动态填充的,其布尔值为True或False。 命名范围在excel中称为“A”,包含布尔值True或False。每列代表一个可能的开始时间。每行代表一个不同的拼贴画,包括开始时间和结束时间。每行可以没有值(整行= False =拼贴是休假) 或者该行在同一行中表示开始时间和结束时间的不同单元格上可以有两个值TRUE。 我想要实现的是通过ROW找到ROW的几个布尔值TRUE。如果发现第一个和第二个真实之间的单元格应该用黄色表示颜色。

我能够在命名范围内循环查找特定值,但我无法在特定行中找到一对TRUE值。作为一个双重检查,我想确保第一个第二个TRUE必须在同一行。因此,不可能在不同行中的2个单元格之间进行着色。

见图:

非常感谢一些建议或想法!

1 个答案:

答案 0 :(得分:0)

您可以使用条件格式执行此操作。

选择整个范围,然后在条件格式中使用以下公式。

=COUNTIF($A1:A1,"TRUE")>1格式为白色

=COUNTIF($B1:B1,"TRUE")>0格式为黄色

公式计算指定范围的“True”单元格数。

Conditional Formatting

另一种方法是在数据右侧添加2列,并使用公式查找开始和结束时间,然后根据时间标题和2个新值有条件地格式化。