【发布时间】:2018-10-27 00:44:47
【问题描述】:
我有一个表,其中包含基于月度和产品的值,如下所示(例如“sheet1”)。此表应用了条件格式以根据目标突出显示单元格颜色红色/黄色/绿色。因此,我只想获取特定月份(当前月份 - 5 月)列,并希望 VBA 检查该列中的任何单元格是否为红色,选择整行并将其复制到另一张表中,例如带有标题的“Sheet2”。
Product = Target Feb Mar Apr May
Wood >= 5 10 10 10 10
wood >= 5 28 28 28 28
Tree >= 12 30 45 60 68
plastic >= 45 50 50 50 50
tree >= 50 50 50 50 50
iron >= 100 64 75 75 80
这些值会每月变化,有时甚至是目标值,因此有时颜色可能完全是绿色/黄色/红色。因此,我想使用 VBA 自动执行此过程,每月检查“Sheet1”并拉出该月突出显示红色单元格的所有行。或者甚至按钮功能也可以提供帮助,因此我可以将此宏分配给按钮,此操作应通过单击按钮来完成。即使它也应该清除Sheet2中上个月的所有行,这些行可能在上个月突出显示,但在本月没有突出显示。
我尝试了不同的方法来做到这一点,它无法识别单元格颜色。当我使用表格中的随机/常规单元格并填充红色并使用 find(ctrl+f) 弹出框使用颜色格式突出显示时,它正在工作,但它不采用表格中具有条件格式的单元格。所以,我不知道是否有办法识别表格中使用 VBA 以红色突出显示的所有单元格。
【问题讨论】:
-
这个答案应该为你指明方向……stackoverflow.com/a/50366447/4961700
-
@SolarMike 我认为这个答案对这个问题没有帮助。
-
这里有几个选项:检查是否满足原始条件逻辑;使用辅助列;或检查单元格的
DisplayFormat.Interior.Color。 -
另一个选项:使用
AutoFilter和Operator:=xlFilterCellColor(对于列)一次移动所有行 -
你自己有没有为此做过任何工作?