项目进度表模板(如何制作项目进度计划表)

/ 0评 / 0

项目进度表模板(如何制定项目进度表)

进度管理是项目管理过程的一个常见应用,它可以很好地控制进度状态,可以对所有项目的发展进行全面的控制。对于任何事物的发展,都要有全面的认识,尤其是最重要的。

项目进度表模板(如何制作项目进度计划表)

任何项目都要先有计划,再做方案,然后进入建设实施阶段。作为一个高管,不一定要知道所有的细节,但是要清楚的知道项目要进行到哪个阶段。

如果进度控制不好,后续的一些工作可能会受阻,影响整个过程的顺利进行,最终导致失败或经济损失。相信这些成绩,没人喜欢看。

本节介绍如何应用Excel VBA制造计划。

项目进度表模板(如何制作项目进度计划表)

其实关键内容并不是如何用代码实现的细节。重点是对所有表格是如何形成的有一个详细的了解,然后结合自己的需求来完成自己的时间表,这是一个很好的学习过程。

上图显示了所有工作表的结果。表格的前半部分显示进度项目的内容,后半部分以图形方式显示进度结果。

这个计划是以月为单位的。如果实现了跨月进度管理,那么表的结构就会发生变化。因此,进度管理不是一种固定的模式。如果是以年或者十年为单位,那就另当别论了。

下面为了添加进度对话框,为了输入方便,直接做了表单录入功能,避免工作表出现问题。

项目进度表模板(如何制作项目进度计划表)

形式很简单,但背后的代码并不简单。文章后面会附上一些代码供参考。

整个工作表实现过程就是从这里开始的。只要输入相应的项目内容,就会主动添加到工作表中,进行时间计算和图形化表示,无需人工干预。

你要做的就是分析图表。

项目进度表模板(如何制作项目进度计划表)

添加按钮代码

P技术资源网rivate Sub CommandButton1_Click()Dim xobj As Object, i As IntegerReDim uArr(0 To UBound(xArr))For Each xobj In Me.Controls    If TypeName(xobj) = "TextBox" Then         If VBA.Len(VBA.Trim(xobj.Value)) = 0 Then Exit Sub            For i = 0 To UBound(xArr)                    If xobj.Name = xArr(i) Then                        If i = 4 Or i = 5 Or i = 6 Or i = 7 Then                            If Not VBA.IsDate(xobj.Value) Then Exit Sub                        End If                        uArr(i) = xobj.Value                    Exit For                    End If            Next i    End IfNext xobjSet xobj = NothinguArr(0) = "=ROW()/2-1"AddSheetRange uArr '添加内容AddNewSheet uArr '添加记载表End Sub

阵列代码

Private Sub getXarr()    xArr = Array("序号", "部门", "类别", "项目名称", _                 "筹划开端时光", "筹划停止时光", "实际开端时光", "实际停止时光", "时长")End Sub

添加项目流程代码(AddSheetRange())

Private Sub AddSheetRange(uArr)Dim s As Worksheet, cell As Range, ic As Integer, ix As IntegerDim st1 As Integer, st2 As Integer, xt1 As Integer, xt2 As IntegerSet s = ActiveSheetSet cell = s.Range("B4:AN5")cell.Insert shift:=xlDownWith cell    .ClearFormats    With .Font        .Size = 10        .Name = "仿宋"    End With    For ic = 1 To 4         cell.Cells(1, ic).Value = uArr(ic - 1)         s.Range(cell.Cells(1, ic), cell.Cells(2, ic)).Merge    Next ic     .Interior.Color = RGB(239, 239, 239)    .Borders.LineStyle = 3    .Borders.Color = RGB(112, 121, 211)    cell.Cells(1, 5).Value = "筹划"    cell.Cells(2, 5).Value = "实际"    cell.Cells(1, 6).Value = uArr(4) '筹划开端时光    cell.Cells(1, 7).Value = uArr(5) '筹划停止时光    cell.Cells(2, 6).Value = uArr(6) '实际开端时光    cell.Cells(2, 7).Value = uArr(7) '实际停止时光    cell.Cells(1, 8).Value = "=H4-G4" 'VBA.DateDiff("d", uArr(4), uArr(5)) '筹划时长    cell.Cells(2, 8).Value&nbs技术资源网p;= "=H5-G5" 'VBA.DateDiff("d", uArr(6), uArr(7)) '实际时长    st1 = VBA.Day(uArr(4)) + 8    st2 = VBA.Day(uArr(5)) + 8    xt1 = VBA.Day(uArr(6)) + 8    xt2 = VBA.Day(uArr(7)) + 8    s.Range(cell.Cells(1, st1), cell.Cells(1, st2)).Style = "S1"    s.Range(cell.Cells(2, xt1), cell.Cells(2, xt2)).Style = "S2"    ix = Application.WorksheetFunction.CountA(s.Range("B:B")) - 2End WithEnd Sub

甘特图的绘制是对表格样式的赋值,在本例中命名为“S1”和“S2”。

第一段代码是设置样式,还有一些判断样式是否存在,添加等操作。

欢迎和珍惜