【问题标题】:Color a specific range of cells in the same row为同一行中的特定范围的单元格着色
【发布时间】:2018-05-23 17:41:29
【问题描述】:

类似于甘特图但不完全相同,我正在尝试为同一行上的可变范围的单元格着色。

As you can see I have a variable number of tasks and a variable start and end for each task

I've created a simple time series where the "Machine 1", which is in the row number 6, is making all the tasks. The time series is in the row number 3.

所以基本上,我需要为机器 1 行中的任务表给出的范围着色,使用该时间序列作为开始着色单元格的参考。每个任务必须有不同的颜色。

由于我是 VBA 的初学者,我一直在尝试使用公式:

=IF(AND($C4<=AK$3;$D4>=AK$3);1;0)

C4是任务的开始,AK3是现在时间序列的地方,D4是任务的结束。然后我会填满整个机器 1 行。这将在任务范围内给出 1,在任务前后给出 0,然后我可以格式化行并通过每个单元格中的给定值为单元格着色。 (1个颜色和0个空白)

问题是这只适用于一项任务,我真的不知道如何更改公式以添加其他任务。我很确定这可以在 VBA 中完成,但就像我说的,我仍然是初学者。请帮帮我

The final answer should look like this. The color doesn't matter, it's how to color the variable ranges automatically the problem

【问题讨论】:

  • Machine1和tasks的关系不清楚。我们将如何将任务放入甘特图中,您能否修改您的第二张屏幕截图以显示这一点?
  • 我已经更新了问题,我添加了最终答案的样子。机器 1 完成所有任务,因此所有任务都应该在一个类似甘特图的类型图中,您可以在其中看到机器 1 将执行的任务,在本例中为“a”、“b”和“c” .

标签: vba excel gantt-chart


【解决方案1】:

如果我正确理解你想要的,这可以通过条件格式来完成:

使用四个条件,分别对应以下公式:

=COLUMN(AK6)<=$D$7+37
=COLUMN(AK6)<=$D$6+37
=COLUMN(AK6)<=$D$5+37
=COLUMN(AK6)<=$D$4+37

并按顺序将它们应用到$AK$6:$BZ$6

【讨论】:

  • 我不得不稍微修改一下条件,这样如果范围这样的话,可能会有空白单元格,但逻辑正是我所需要的。非常感谢!
猜你喜欢
  • 2019-07-02
  • 2015-10-11
  • 2019-07-17
  • 1970-01-01
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多