你目前正处于脱机状态,正在等待 Internet 重新连接

筛选后的列表中的值求和 PRJ: 宏

针对 Office 2003 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Office 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 124482
概要
Microsoft Project 的"详细信息"部分中的示例宏这篇文章对可见的任务和显示的列表中的数值求和在列表的底部任务行中之和。
更多信息
Microsoft 提供的 Visual Basic for Applications 过程的示例图,而无需担保明示或暗示的担保,其中包括,但不是限于对适销性和/或适用性的暗示担保用于特定目的。在这篇文章中的 Visual Basic 过程按原样提供,Microsoft 不保证可以使用它们所有的情况。虽然 Microsoft 支持专业人员可以帮助解释某个宏的功能,他们不会修改这些示例提供附加的功能,也不是它们将帮助您构建宏满足您的特定需求。如果您具有有限的编程体验,您可能需要参考 Microsoft 解决方案供应商之一。解决方案提供程序提供了广泛的收费服务,包括创建自定义的宏。有关 Microsoft 解决方案供应商详细信息调用在 (800) 426-9400 Microsoft 客户的信息服务。

下面的宏对所有可见的数字 1 字段中的值求和任务。在运行该宏后,将创建一个名为"Total"的新任务并显示活动项目的结尾处。在这个数字 1 域任务将包含所有其他可见的数字 1 值的总和任务。

Microsoft 项目 2010年和 2013

  1. 视图功能区中,选择,然后单击查看宏
  2. 输入的名称"SumFilteredList,然后单击创建。
  3. 从第 6 步下到这是在 Visual Basic 编辑器中打开的 Module1 中复制代码。
若要使用此宏,请执行以下操作:

  1. 选择一个使用表时,例如甘特图的任务视图。
  2. 显示您要汇总计算的通过应用筛选器或隐藏或显示子任务的任务。
  3. 视图功能区中,选择,然后单击查看宏
  4. 在宏列表中选择 SumFilteredList,然后单击运行


Microsoft 项目 98、 2000年、 2002年、 2003年和 2007
  1. 在工具菜单上,指向宏,然后单击宏。
  2. 在宏名字段中,键入SumFilteredList。单击创建。
  3. Microsoft 项目 2010 年
  4. 选择视图选项卡,然后单击
  5. 对话框中,类型SumFilteredList 宏名中归档,然后单击创建
  6. 在 Visual Basic 编辑器中,输入以下代码:
          Sub SumFilteredList()      ' This macro totals up the values in the Number1 field      ' for all visible (filtered) tasks, and displays this total      ' at the bottom of the task list.      Dim oTask As Task          ' Current task pointer      Dim oTotalTask As Task     ' Totals task pointer      Dim fTotal As Single       ' Used to hold totals         ' Ignore error generated by trying to delete a task         ' that does not exist.         On Error Resume Next         ' If totals task is present, delete it.         ActiveProject.Tasks("Total:").Delete         ' Re-enable default error handling         On Error GoTo 0         ' Select visible tasks         SelectAll         ' If tasks are selected, then loop through each of them         If Not (ActiveSelection.Tasks Is Nothing) Then            For Each oTask In ActiveSelection.Tasks                ' Add Number1 for each task to total               fTotal = fTotal + oTask.Number1   ' Field to Sum            Next oTask         Else            ' There's nothing to add            Exit Sub         End If          ' Create Totals task so it's visible         Set oTotalTask = ActiveProject.Tasks.Add("Total:")         ' Insure "Totals:" task is at outline level 1 (not indented)         Do Until oTotalTask.OutlineLevel = 1              oTotalTask.OutlineOutdent         Loop         ' Put total in proper field         oTotalTask.Number1 = fTotal             ' Field containing total         ' Hide task bar for this task         oTotalTask.HideBar = True         ' Select totals row         SelectRow oTotalTask.ID, False         ' Set font to bold         FontBold Set:=True      End Sub						

Microsoft 项目 4.x

  1. 在工具菜单上,单击宏。
  2. 单击新建。
  3. 在宏名字段中,键入 SumFilteredList.单击确定。
  4. 在模块编辑器中,输入以下代码:
          Sub SumFilteredList()      ' This macro totals up the values in the Number1 field      ' for all visible (filtered) tasks, and displays this total      ' at the bottom of the task list.      Dim oTask As Task          ' Current task pointer      Dim oTotalTask As Task     ' Totals task pointer      Dim fTotal As Single       ' Used to hold totals         ' Ignore error generated by trying to delete a task         ' that does not exist.         On Error Resume Next         ' If totals task is present, delete it.         ActiveProject.Tasks("Total:").Delete         ' Re-enable default error handling         On Error GoTo 0         ' Select visible tasks         SelectAll         ' If tasks are selected, then loop through each of them         If Not (ActiveSelection.Tasks Is Nothing) Then            For Each oTask In ActiveSelection.Tasks                ' Add Number1 for each task to total               fTotal = fTotal + oTask.Number1   ' Field to Sum            Next oTask         Else            ' There's nothing to add            Exit Sub         End If          ' Create Totals task so it's visible         Set oTotalTask = ActiveProject.Tasks.Add("Total:")         ' Insure "Totals:" task is at outline level 1 (not indented)         Do Until oTotalTask.OutlineLevel = 1              oTotalTask.OutlineOutdent         Loop         ' Put total in proper field         oTotalTask.Number1 = fTotal             ' Field containing total         ' Hide task bar for this task         oTotalTask.HideBar = True         ' Select totals row         SelectRow oTotalTask.ID, False         ' Set font to bold         FontBold Set:=True      End Sub						
若要使用此宏,请执行以下操作:

  1. 选择一个使用表时,例如甘特图的任务视图。
  2. 显示您想要通过计算总计的任务应用筛选器或通过隐藏或显示子任务。
  3. 在工具菜单上,单击宏。
  4. 在宏列表中选择 SumFilteredList,然后单击运行。
若要使用此宏,请执行以下操作:

  1. 选择一个使用表时,例如甘特图的任务视图。
  2. 显示您想要通过计算总计的任务应用筛选器或通过隐藏或显示子任务。
  3. 在工具菜单上,指向宏,然后单击宏。
  4. 在宏列表中选择 SumFilteredList,然后单击运行。

修改宏

以数字 1 以外的字段中的值求和,请更换的参考在行上的数字 1"域的总和"与注释的名称您要为其派生总计的字段。若要将总放在一个字段中非数字 1,替换注释掉的行上的数字 1 参考使用"字段包含总"与字段中的名称到您确实想要放置总数。

例如,如果您要计算的字段是计算的字段,如成本或实际成本,则总和必须放在一个非计算的字段,例如,成本 1 或数字 1。因此,若要获取总成本域的所有可见任务和地点的"总计"的任务,成本 1 域中的合计将更改指示的行,如下所示:
   fTotal = fTotal + oTask.Cost   ' Field to Sum   oTotalTask.Cost1 = fTotal      ' Field containing total				

警告:本文已自动翻译

属性

文章 ID:124482 - 上次审阅时间:04/29/2013 18:35:00 - 修订版本: 1.0

Microsoft Project 98 标准版, Microsoft Project 4.1 标准版, Microsoft Project 4.0 标准版, Microsoft Project 4.0 for Macintosh, Microsoft Office Project Standard 2007, Microsoft Office Project Standard 2003, Microsoft Project 2000 标准版, Microsoft Project 2002 标准版, Microsoft Project Standard 2010, Microsoft Office Project Professional 2007, Microsoft Office Project Professional 2003, Microsoft Office Project Server 2007, Microsoft Office Project Server 2003, Microsoft Project 2002 专业版, Microsoft Project Professional 2010, Microsoft Project Server 2002, Microsoft Project Server 2010, Microsoft Project 2013 Professional, Microsoft Project 2013 Standard

  • kbcode kbhowto kbprogramming kbmt KB124482 KbMtzh
反馈