Excel将所有值从一个主工作表复制到各种其他工作表(如果它们是某种颜色)

时间:2018-05-01 08:49:11

标签: excel vba excel-vba

非常感谢下面的解决方案:

我希望有8张。

  1. 包含所有作业的主工作表,这些工作目前都按以下颜色分类:
  2. 红色 - 活着 绿色 - 发票/完成 蓝色 - 引用 黑色 - 询问 灰色 - 死亡/丢失 紫色 - 正在进行中 黄色 - 保留

    我想做的是保留主要表格,并为上述每一张都有一张表。例如,当文本变为红色时,我希望将其转移到实时工作表,而反之亦然。这应该是一个宏

    任何人都可以帮忙吗?

    非常感谢,

1 个答案:

答案 0 :(得分:0)

你说"当文字变成红色时#34;所以这可能是条件格式? 无论如何,您需要做的是将代码附加到主表的计算事件中。此代码应执行以下操作

查看activecell的颜色元素(字体,背景,条件格式等) 根据该颜色,将整行复制到相应的工作表 (你能否认为这些床单已经存在?)

您可能需要一个Select Case Statement。我会声明一个工作表变量,然后将其设置为select中的相应工作表 然后

Activecell.entirerow.copy ws.cells(ws.rows.count,1).end(xlup).offset(1,0)

会将行复制到任何现有行底部的所需工作表。

如果您遇到问题,请尝试使用代码返回

编辑:抱歉,我错过了"点击按钮"部分。您可以忽略有关工作表计算事件的位 - 只需将代码附加到按钮即可。唯一需要担心的是,您需要遍历工作表中所有已使用的行,因为单击按钮时可能会有多个彩色行。