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

Переклади статей Переклади статей
Номер статті: 124482 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

На цій сторінці

Підсумки

Microsoft Project зразок макросу в розділі "Додаткові відомості" Ця стаття підсумовує числові значення у списку відображається завдань і відображає Всього в ряд завдань Боттом частині списку.

Додаткові відомості

корпорація Майкрософт надає приклади Visual Basic for Applications процедури для Ілюстрація тільки, без гарантії або виражених або маються на увазі, включаючи, але не обмежуючись, можливі гарантії та/або придатності для конкретної мети. У цій статті, процедури Visual Basic надаються "як є" і Майкрософт не гарантує, що вони можуть бути використані в всі ситуації. Хоча фахівці представник служби підтримки клієнтів корпорації Майкрософт можуть пояснити з функціональність конкретних макрос, вони не будуть змінювати приклади для забезпечують додаткову функціональність, а також вони допоможуть вам побудувати макросів відповідно до ваших конкретних потреб. Якщо у вас є обмежений досвід програмування, ви можете проконсультуватися з одним з постачальники вирішень Microsoft. Рішення Провайдери пропонують широкий спектр платних послуг, в тому числі створення Користувацькі макроси. Додаткові відомості про 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 проекту 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
				

Властивості

Номер статті: 124482 - Востаннє переглянуто: 29 квітня 2013 р. - Редакція: 1.0
Застосовується до:
  • Microsoft Project 98 Standard Edition
  • Microsoft Project 4.1 Standard Edition
  • Microsoft Project 4.0 Standard Edition
  • Microsoft Project 4.0 для Макінтош
  • 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 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 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