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

Поддержка Office 2003 завершена

8 апреля 2014 г. корпорация Майкрософт прекратила поддержку Office 2003. Это повлияло на обновления программного обеспечения и параметры безопасности. Узнайте, что это значит для вас и какие меры по безопасности можно предпринять.

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке: 124482
Аннотация
Пример макроса 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 — последний просмотр: 04/29/2013 18:32:00 — редакция: 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
Отзывы и предложения