2013-12-13 65 views
0

我是MS Project的新手,我需要幫助的東西,我不知道是否有可能。 在數百個任務的列表中,我需要根據標準隱藏一些任務。這第一步很簡單,我創建了一個符合我想要的標準的過濾器,並將其應用於任務,並且運行良好。更改MS項目隱藏任務的持續時間

問題是我需要更改過濾器隱藏的任務的持續時間,即將其持續時間更改爲0,以便影響列表中其他任務的持續時間。通過篩選,唯一完成的任務是隱藏視圖中的任務,但它們仍然存在,因此日期和持續時間保持不變。

有無論如何,我可以隱藏任務,並將其持續時間設置爲0?也可以通過VBA,因爲我之前使用過VBA,而不是在Project中,但在Access和Excel中使用過。

回答

0

如果您有MS Project 2010或更高版本,可以將任務設置爲非活動狀態(鼠標右鍵/停用任務)。這使得持續時間等不再影響其他任務,即使仍然在非活動任務中陳述。 否則,像這樣的宏應該幫助:

Dim tskX As Task 
For Each tskX In ActiveProject.Tasks 
    If Not (tskX Is Nothing) Then    'Do not combine this line with any other line! You would get runtime errors when accessing empty tasks (space rows) in your schedule. 
     If Not tskX.ExternalTask Then   'You can't modify external linked tasks anyhow. You would get runtime errors if trying this. 
      If tskX.Text1 = "x" Then   'Instead of "Text1" you can access the field containing your criteria here 
       tskX.PercentWorkComplete = 0 
       tskX.Duration = 0 
       End If 
      End If 
     End If 
    Next tskX 

最好的問候,Kawi42

+0

謝謝。該公司在這裏使用的版本是2003年,所以宏將有所幫助。 – LeGo