【发布时间】:2022-11-02 00:19:19
【问题描述】:
我目前正在尝试解决两个问题以结束这个项目。问题 #1:我试图在时间标度数组中汇总给定日期的数据,而不是在任务汇总级别执行计算并将其投影到时间范围内。无论如何编写代码来简单地总结给定日期的所有任务行项目数据?问题 #2:我试图让详细信息列代表 t.cost1 的名称/标题,即“劳动力”。 “Base8.Cost”对最终用户来说太混乱了。无论如何使用VBA来编辑在任务使用表的详细信息列中baseline8成本的显示?
子 TScaleLabor()
Dim tsv As TimeScaleValue
Dim tsvs As TimeScaleValues
Dim t As Task
Dim D As Date
For Each t In ActiveProject.Tasks
If t.Summary = False And t.Cost1 <> 0 Then
t.Baseline8Cost = t.Cost1
D = t.Finish - 1
If DateDiff("d", t.Start, t.Finish) > 1 Then
Set tsvs = t.TimeScaleData((t.Start), D, pjTaskTimescaledBaseline8Cost, pjTimescaleDays, 1)
For Each tsv In tsvs
If ActiveProject.Calendar.Period(tsv.StartDate, tsv.EndDate).Working Then
Durdays = ((t.Duration) / 60) / 24
tsv = t.Baseline8Cost / Durdays
End If
Next tsv
ElseIf DateDiff("d", t.Start, t.Finish) = 1 Then
Set tsvs = t.TimeScaleData((t.Start), t.Finish, pjTaskTimescaledBaseline8Cost, pjTimescaleDays, 1)
For Each tsv In tsvs
If ActiveProject.Calendar.Period(tsv.StartDate, tsv.EndDate).Working Then
Durdays = ((t.Duration) / 60) / 24
tsv = t.Baseline8Cost / Durdays
End If
Next tsv
End If
End If
Next t
结束子
I used the code above to take data from the labor column (t.cost1) and time scale it over the task start and finish dates for tasks line items only. Big thanks to Rachel and John for all the help, if you happen to see this!
【问题讨论】:
标签: vba ms-project