PRJ: Суммировать значения в отфильтрованном списке макрос

Переводы статьи Переводы статьи
Код статьи: 124482 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Пример макроса Microsoft Project, в разделе «Дополнительная информация» в этой статье возвращает сумму числовых значений из списка задач отображается и отображает Сумма в строке в нижней части списка задач.

Дополнительная информация

Корпорация Майкрософт предоставляет примеры процедур Visual Basic для приложений. иллюстрации, без гарантии явных или подразумеваемых, включая, но не ограничиваясь подразумеваемые гарантии товарности или пригодности для определенной цели. В этой статье процедуры Visual Basic. предоставляются "как есть", и корпорация Майкрософт не гарантирует, что они могут использоваться в любой ситуации. Хотя специалисты службы технической поддержки Майкрософт могут объяснить функциональность макрос, будут изменять примеров обеспечивают дополнительную функциональность, а также они помогут вам создавать макросы отвечающий конкретным требованиям. При отсутствии опыта программирования, вы может потребоваться обратитесь к одной из поставщиков решений Microsoft. Решение Поставщики предлагают широкий спектр платных служб, включая создание пользовательские макросы. Дополнительные сведения о поставщиках решений Microsoft, вызов сведений служба поддержки клиентов по телефону (800) 426-9400.

Следующий макрос возвращает сумму значений из полей Число1 все видимые задачи. После запуска данного макроса будет создана новая задача под названием «Итог» и отображается в конце активного проекта. Поле «Число1» в данном задача будет содержать сумму значений для всех других видимых Число1 задачи.

Microsoft Project 2010 и числа 2013

  1. На ленте представление выберите макрос и нажмите кнопку Просмотр макросов.
  2. Введите имя "SumFilteredList и нажмите кнопку Создать.
  3. Скопируйте код из пункта 6 ниже в Module1, который открыт в редакторе Visual Basic.
Чтобы использовать этот макрос, выполните следующие действия:

  1. Выберите представление задач, который использует таблицы, например диаграммы Ганта.
  2. Отображать только те задачи, которые требуется вычислить итог для применения фильтра или скрытие или отображение подзадач.
  3. На ленте представление выберите макроси нажмите кнопку Просмотр макросов.
  4. В списке макросов выберите SumFilteredList и нажмите кнопку выполнить.


Microsoft Project 98, 2000, 2002, 2003 и 2007
  1. В меню Сервис укажите на пункт Макрос и выберите команду макросы.
  2. В поле имя макроса введите SumFilteredList. Нажмите кнопку Создать.
  3. Microsoft Project 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 Project 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 и нажмите кнопку выполнить.

Изменение макроса

Для суммирования значений из полей, кроме Number1, заменить ссылку на Число1 в строке комментария с именем «Поле сумму» поле, для которого требуется наследовать общее. Чтобы поместить общее в поле Кроме Число1 замените ссылку на Number1 Закомментированные строки с «Поле, содержащее всего» с именем поля, в котором вы Фактически нужно поместить итог.

Например, если поле, которое нужно суммировать вычисляемого поля, такие как Стоимость или фактических затрат, то сумма должны быть помещены в невычисляемые поля Затраты1 или Число1. Таким образом чтобы получить общую сумму поля затрат для всех видимые задачи и поместить общее в поле «Затраты1», «Итого» задачи, указанными строками необходимо изменить следующим образом:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Свойства

Код статьи: 124482 - Последний отзыв: 29 апреля 2013 г. - Revision: 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 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 124482

Отправить отзыв

 

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