MS Project 之常用字段(列)
前言
MS Project中的列或字段是非常丰富的,除常规的任务模式、任务名称、开始、完成时间、工期、前置任务、资源名称外它还包含经常用到的基准时间(开始、完成、工期,工时,成本等等相关),实际时间(开始、完成、工期、工时、成本,百分比等等相关)以及大量的自定义字段例如:自定义基准(1-10),自定义数字(1-20),自定义文本(1-30),自定义工时(1-10),自定义工期(1-10),自定义开始时间(1-10),自定义完成时间(1-10),自定义日期(1-10)等等,还包括系统的大纲级级别,类型,任务模式、限制日期、限制类型等等。
今天就讲一下常用的字段用法及意义:
1任务模式
任务模式分手动计划或自动计划
自动计划的时间是根据逻辑关系、限制类型,限制日期等自动计算而来,是受驱动的,是变化的
手动计划是手动输入的,不随其他任务的变化而变化。
通常我们做计划希望任务是自动变化的,否则逻辑关系就没有意义,因此我们可以设置新建任务的默认模式为自动计划,设置过程如下:
选项》日程》新建任务创建于,把手动计划修改为自动计划,并确定。
对于个别任务,如果暂时需要停止关联,可以在任务模式中选则手动任务,则该任务不在受前置任务的影响,而保持自身的独立。
2大纲级别
大纲级别是以数字表示的上下级关系,1代表第一级,2代表第二级,如图:
那么大纲级别有什么用呢?大多情况下,应该没有太多人用,不过本人要经常把PROJECE导入到EXCEL中进行进度计算,并要保持上下级的关系,这个在EXCEL中也有这个功能,叫做分组或分级显示,不过需要手动,对于较多的数据手动肯定是不行的,因此这个大纲级别就派上用场了。
首先在PROJECT中选中数据复制到EXCEL中,如图:
复制到EXCEL中数据,失去了分级的概念,因此我们需要重建它。
在EXCEL中按ALT+F11,进入VBA窗口,双击数据所在的SHEET表,在右侧编辑窗口输入如下代码:
Sub group()
'设置汇总行在数据上面
ActiveSheet.Outline.SummaryRow = xlAbove
'设置数据循环的起始和结束值,从第二行到最后一行,进行循环
For i = 2 To Cells(65536, 1).End(xlUp).Row
'设置大纲级别等于第一列的值
Rows(i).OutlineLevel = Cells(i, 1)
Next
'程序结束
End Sub
点击运行
瞬间你的表格数据变成下面的格式,最左侧多了分组显示或分级显示,你可以点击1,2,3显示你要显示的级别,也可以点击-号,进行收起子任务或点击+号,展开子任务。
是不是很酷呢?是不是和PROJECT中的大纲级别一样的?你也照着试试吧!
升级版
如果你的任务清单和级别已在excel中,那么如何导入到PROJECT中呢?
如上图所示:虽然大纲级别没有直接显示,但通过任务编码,我们仍然可以找到该任务的大纲级别,仔细研究一下编码,不难发现“.”作为分隔符,其实已经把大纲级别暴露了,有一个“.”,说明是第二级,有两个“.”说明是第三极。只要我们把“.”的数量加1就可以了。公式如下:
=LEN(A2)-LEN(SUBSTITUTE(A2,".",""))+1
下拉填充所有行。
我们先把任务名称复制到PROJECT中,再把大纲级别复制到PROJECT中,发现大纲级别无法复制,全部变成了平级。这个其实在03版,我记得是可以完全复制的,新版本反而不行了。
解决办法:
插入一列数字1,将大纲级别复制到数字1,发现是可以的。
在PROJECT中,按ALT+F11打开VBA编辑器,双击项目1,在右侧编辑区域输入以下代码:
Sub level()
For i = 1 To Tasks.Count
Tasks(i).OutlineLevel = Tasks(i).Number1
Next
End Sub
目的是将数字1的值赋予大纲级别。
运行程序:
结果如下:此时你可以将大纲级别和数字1隐藏,它们已经完成了使命,该退居二线了。
其实VBA并不难,大部分核心代码只有一两条,其余都是标准语句,前提是需要了解针对每个软件的对象、属性及动作如何调用。EXCEL\PROJECT\CAD都可以用VBA 编程,如果不知道代码如何写,可以先录制,看好一下代码是如何运行的。
3限制类型和限制日期
限制类型:包含
1、越早越好,为默认
2、越晚越好
3、必须开始于
4、必须完成于
5、不得晚于...开始
6、不得早于…开始
7、不得晚于…完成
8、不得早于…完成
其中1为默认类型,也可以在项目信息中设置默认方式。当日程排定方法为项目开始日期时,任务类型默认为越早越好。当排定日程为项目完成日期时,任务类型为越晚越好。
一般来说每个任务都有最早开始、完成日期和最晚开始、完成日期。当最早和最晚日期相等时,说明此任务为关键路径,浮时为0。
务类型为3-8时,限制日期会出现默认日期,你可以根据情况修改该日期。
当你人为地修改开始日期和结束日期时或从EXCEL复制日期过来时,也会改变任务的类型,并在标记栏中出现日历图标,表示此任务设置了限制。
4比较基准、计划时间、实际时间
在视图左侧,点击右键,选择跟踪甘特图,在跟踪甘特图中插入比较基准开始完成时间、实际开始完成时间。
此时四列为全部为NA,因为我们没有保存基准,也没有输入实际时间。
保存基准:
当项目计划完成后,需要保存基准,作为项目的目标,和实际执行计划对比,项目的基准相当于将计划日期备份了一份,但不会自动改变。
设置基准后:
基准计划出现时间,右侧甘特图出现基准计划条形图。此时基准时间和计划时间相同。
输入实际时间:
实际时间不总是按照计划执行,可能提前也可能推迟。例如任务B和D,计划开始日期为10-9,实际开始时间为10-12,当在实际开始时间输入10-12时,开始时间和完成时间会根据实际时间和逻辑关系动态调整计划,而基准计划不变。如下图:右侧的甘特图显示了当前计划与基准计划的关系。
总结
本文重点讲解了几个常用的字段,中间穿插了一些初级的VBA编程,其实MS PROJECT中的字段非常多,大家可以逐步接触,一点点提高。
END