PRJ: 已篩選清單中的總和值的巨集

文章翻譯 文章翻譯
文章編號: 124482 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

〈 其他資訊 〉 一節中的 Microsoft Project 範例巨集這份文件加總可見的工作和顯示清單中的數字值在清單底部的工作列中的總和。

其他相關資訊

Microsoft 提供的 Visual Basic for Applications 的程序的範例說明而已,而不擔保 [明示或暗示保證,包括,但不是限於適售性及/或適用性的默示擔保責任適合某特定用途。在這份文件中執行的 Visual Basic 程序顯示一些 ' is',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」 欄位包含總計"欄位的名稱到其中與您真的想要放置總計。

比方說,如果您想要加總的欄位是計算的欄位,如成本或實際成本,則總和必須放在非導出欄位而言,顯示如 Cost1 或數字 1。因此,以取得總數中的所有成本欄位看得見的工作和進行中的"Total"的任務,[成本 1] 欄位的總和您應改變指定的行,如下所示:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

屬性

文章編號: 124482 - 上次校閱: 2013年4月29日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft Project 98 Standard Edition
  • Microsoft Project 4.1 Standard Edition
  • Microsoft Project 4.0 Standard Edition
  • Microsoft Project 4.0 for Macintosh
  • Microsoft Office Project Standard 2007
  • Microsoft Office Project Standard 2003
  • Microsoft Project 2000 Standard Edition
  • Microsoft Project 2002 Standard Edition
  • 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 Professional Edition
  • 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
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:124482
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com