PRJ: Makro do sumy wartości w filtrowanej liście

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 124482 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Program Microsoft Project przykładowe makro w sekcji "Więcej informacji" w tym artykule sumuje wartości liczbowych z listy zadań widocznych i wyświetlacze sumy w wierszu zadań u dołu listy.

Więcej informacji

Firma Microsoft podaje przykłady Visual Basic dla aplikacji procedury Ilustracja, bez gwarancji wyrażonych lub domniemanych, w tym między innymi dorozumianych gwarancji przydatności handlowej do określonego celu. Procedury języka Visual Basic, w tym artykule są "jak jest" i Microsoft nie gwarantuje, że mogą być używane w wszystkie sytuacje. Natomiast specjaliści Support firmy Microsoft mogą pomóc w wyjaśnieniu Funkcje określonym makrem, nie będą modyfikować tych przykładów zapewnia dodatkowe funkcje, ani ich pomoże Ci utworzyć makra do określonych potrzeb. Jeśli czytelnik ma niewielkie doświadczenie w programowaniu, użytkownik warto skonsultować się z jednego z dostawców rozwiązań firmy Microsoft. Rozwiązanie Usługodawcy oferują szeroką gamę usług opartych na opłaty, włączając w to tworzenie niestandardowe makra. Aby uzyskać więcej informacji na temat dostawców rozwiązań firmy Microsoft, Wywołanie obsługi informacji klienta Microsoft pod adresem (800) 426-9400.

Poniższe makro sumuje wartości z dziedziny Liczba1 wszystkie widoczne zadania. Po uruchomieniu tego makra zostanie utworzone nowe zadanie o nazwie "Suma" i wyświetlany na końcu aktywnego projektu. Pole Liczba1 w tym zadanie będzie zawierać sumę wartości Liczba1 dla wszystkich innych widoczne zadania.

Program Microsoft Project 2010 i 2013

  1. Na wstążce widoku zaznacz makra , a następnie kliknij przycisk Wyświetl makra.
  2. Wprowadź nazwę "SumFilteredList i kliknij przycisk Create.
  3. Skopiuj kod z kroku 6 poniżej do Module1, który jest otwarty w Edytorze Visual Basic.
Aby użyć tego makra, wykonaj następujące czynności:

  1. Wybierz widok zadania, który używa tabeli, na przykład na wykresie Gantta.
  2. Wyświetlanie tylko zadań, które ma zostać obliczona suma dla przez zastosowanie filtru lub ukrywanie lub pokazywanie podzadań.
  3. Na wstążce widoku zaznacz makra, a następnie kliknij Wyświetl makra.
  4. Na liście makr wybierz SumFilteredList, a następnie kliknij polecenie Uruchom.


Microsoft Project 98, 2000, 2002, 2003 i 2007
  1. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij przycisk makra.
  2. W polu Nazwa makra wpisz SumFilteredList. Kliknij przycisk Utwórz.
  3. Program Microsoft Project 2010
  4. Wybierz kartę Widok , a następnie kliknij polecenie makra
  5. W oknie dialogowym makra typu SumFilteredList w polu Nazwa makra złożony i kliknij przycisk Utwórz.
  6. W Edytorze Visual Basic, wprowadź następujący kod:
          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
    						

Program Microsoft Project 4.x

  1. W menu Narzędzia kliknij polecenie makra.
  2. Kliknij przycisk Nowy.
  3. W polu Nazwa makra wpisz SumFilteredList. Kliknij przycisk OK.
  4. W edytorze Module wpisz następujący kod:
          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
    						
Aby użyć tego makra, wykonaj następujące czynności:

  1. Wybierz widok zadania, który używa tabeli, na przykład na wykresie Gantta.
  2. Wyświetlanie tylko zadań, które ma zostać obliczona suma bądź stosowanie filtru lub poprzez ukrycie lub wyświetlenie podzadań.
  3. W menu Narzędzia kliknij polecenie makra.
  4. Na liście makr wybierz opcję SumFilteredList, a następnie kliknij Uruchom.
Aby użyć tego makra, wykonaj następujące czynności:

  1. Wybierz widok zadania, który używa tabeli, na przykład na wykresie Gantta.
  2. Wyświetlanie tylko zadań, które ma zostać obliczona suma bądź stosowanie filtru lub poprzez ukrycie lub wyświetlenie podzadań.
  3. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij przycisk makra.
  4. Na liście makr wybierz opcję SumFilteredList, a następnie kliknij Uruchom.

Modyfikowanie makra

Aby sumować wartości z pól innych niż Liczba1, zastąpi odniesienie do Liczba1 w wierszu komentarzem z "Pole sumy" z nazwą pole, dla którego ma pochodzić wartość sumaryczną. Aby umieścić w polu sumy inne niż Liczba1 zastąpi odniesienie do Liczba1 w wierszu z komentarzem z "Pole zawierające łącznie" z nazwą pola do którego użytkownik rzeczywiście chcesz umieścić sumę.

Na przykład, jeśli pole, które chcesz zsumować jest polem obliczeniowym, takich jak Koszt lub koszt rzeczywisty, a następnie sumę muszą być umieszczone w-obliczane pole przykład Koszt1 lub Liczba1. W związku z tym aby suma pól kosztów dla wszystkich Zadania widoczne i miejsce sumy w polu Koszt1 zadania "Łącznej" Czy zmienić wskazanej linii w następujący sposób:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Właściwości

Numer ID artykułu: 124482 - Ostatnia weryfikacja: 29 kwietnia 2013 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • 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
Słowa kluczowe: 
kbcode kbhowto kbprogramming kbmt KB124482 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to: 124482

Przekaż opinię

 

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