在Excel中创建伪甘特图项目计划。对于那些没有MS Project的员工,我遇到了以下问题。 Excel表格变得非常迟缓。我不确定它是否是由我使用的VBA函数或条件格式引起的。
该表以任务详细信息开头 任务,持续时间,任务启动,任务结束。
并继续使用日历部分,包括字段weekStart和weekEnd。 在每个日历单元格中都是一个公式
=PseudoGantt(task;duration;taskStart;taskEnd;weekStart;weekEnd)
宏如下所示:
Function PseudoGantt(taskName As String, taskLength As Integer, taskStart As Date, taskEnd As Date, weekStart As Date, weekEnd As Date) As String
PseudoGantt = Switch( _
taskName = "", "empty", _
taskStart = taskEnd And taskStart >= weekStart And taskEnd <= weekEnd, "milestone", _
taskLength = 0 And taskStart >= weekStart And taskStart < weekEnd, "summarytask", _
taskLength = 0 And taskEnd <= weekEnd And taskEnd > weekStart, "summarytask", _
taskLength = 0 And taskStart < weekStart And taskEnd > weekEnd, "summarytask", _
taskStart >= weekStart And taskStart < weekEnd, "start", _
taskEnd <= weekEnd And taskEnd > weekStart, "end", _
taskStart < weekStart And taskEnd > weekEnd, "continue", _
True, "empty" _
)
End Function
这将填充单元格中的甘特图状态,我将其用作条件格式的条件,以便适当地为单元格着色。
这样可行,但正如我所说,它使Excel非常慢。
我考虑过更换VBA自定义函数中的条件格式,但它们只返回值,不能更改单元格颜色等。
问题:
感谢收听。
旁注:抱歉,无法发布截图(反垃圾邮件过滤器)