根据日期将数据和行的一部分复制到另一个工作表

时间:2014-04-07 11:43:31

标签: excel excel-vba date copy conditional-formatting vba

所以我有一张包含2张纸的Excel工作簿。 Sheet2包含大量信息

Column A : name
Column B : Size
...
Column P : Validity date

现在,有效日期具有条件格式以过滤日期。 今天之前的每个日期都是红色 今天和未来10天的日期是橙色 之后的每个日期都是绿色

在同一工作簿中是一个用于报告的空sheet1。 我想自动将工作表2上以红色显示的行复制到工作表1的标题"有效期限已过期"以及所有橙色的标题出现在另一个标题下#34;即将过期"

这怎么可能?

1 个答案:

答案 0 :(得分:0)

宏中的以下两行将复制格式并设置原始值(公式将根据新位置重新计算,因此您需要值)。在本例中,我将Sheet1:B2的格式和值复制到Sheet1:D4。

ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Copy ThisWorkbook.Sheets("Sheet1").Cells(4, 4)
ThisWorkbook.Sheets("Sheet1").Cells(4, 4).Value = ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Value

从这里开始,您必须根据当前日期检查每一行的有效日期值(使用循环中的Date变量。如果日期已过期,请复制该行。保持循环直到您找到空白线。

接下来,做同样的事情,但检查即将到期的值的有效日期。