PRJ: Makro summan värden i en filtrerad lista

Artikelöversättning Artikelöversättning
Artikel-id: 124482 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

På den här sidan

Sammanfattning

Microsoft Project-makro i avsnittet "Mer Information" i den här artikeln summerar numeriska värden från en lista över uppgifter som visas och visar Summa i en uppgiftsrad längst ned i listan.

Mer Information

Microsoft ger exempel på Visual Basic for Applications-procedurer för endast utan garanti uttryckta eller underförstådda, inklusive, men inte begränsat till underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Visual Basic-procedurer i den här artikeln är "befintligt skick" och Microsoft kan inte garantera att de kan användas i alla situationer. Även om Microsoft Support-tekniker kan hjälpa till att förklara den funktioner i ett makro kan inte ändra dessa exempel för att ger extra funktionalitet och inte heller kommer de hjälpa dig skapa makron uppfyller dina specifika behov. Om du har begränsad programmeringserfarenhet, du kanske vill kontakta någon av Microsoft Solution Providers. Lösning Leverantörer erbjuder en mängd avgiftsbelagda tjänster, inklusive att skapa anpassade makron. Mer information om Microsoft Solution Providers Ring Microsoft Information kundtjänst på (800) 426-9400.

Följande makro summerar värden från fälten Tal1 av alla synliga aktiviteter. När du har kört makrot kommer att skapas en ny aktivitet som heter "Summa" och visas i slutet av det aktiva projektet. Fältet Tal1 i detta uppgiften kommer att innehålla summan av värdena för alla andra synliga tal1 aktiviteter.

Microsoft Project 2010 och 2013

  1. Markera makron på menyfliken Visa och klicka på Visa makron.
  2. Ange namnet "SumFilteredList och på Skapa.
  3. Kopiera koden från steg 6 nedan i Modul1 som är öppen i Visual Basic editor.
Gör följande om du vill använda makrot:

  1. Välj en uppgiftsvy med en tabell, till exempel Gantt-schemat.
  2. Visa bara de aktiviteter som du vill beräkna en summa för antingen genom att använda ett filter eller genom att dölja eller Visa underaktiviteter.
  3. Markera makronpå menyfliken Visa och klicka sedan på Visa makron.
  4. Markera SumFilteredList i listan makron och klicka sedan på Kör.


Microsoft Project 98, 2000, 2002, 2003 och 2007
  1. Peka på Makro på Verktyg-menyn och klicka sedan på makron.
  2. Skriv SumFilteredListi fältet namn. Klicka på Skapa.
  3. Microsoft Project 2010
  4. Klicka på fliken Visa och klicka på makron
  5. I dialogrutan makron typ SumFilteredList i Makronamn in och klicka på Skapa.
  6. I Visual Basic Editor, anger du följande 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
    						

Microsoft Project 4.x

  1. Klicka på makron på Verktyg-menyn.
  2. Klicka på ny.
  3. Skriv i rutan Makronamn SumFilteredList. Klicka på OK.
  4. I modulen Redigerare, anger du följande 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
    						
Gör följande om du vill använda makrot:

  1. Välj en uppgiftsvy med en tabell, till exempel Gantt-schemat.
  2. Visa bara de aktiviteter som du vill beräkna en summa för antingen genom tillämpa ett filter eller genom att dölja eller Visa underaktiviteter.
  3. Klicka på makron på Verktyg-menyn.
  4. Markera SumFilteredList i listan makron och klicka sedan på Kör.
Gör följande om du vill använda makrot:

  1. Välj en uppgiftsvy med en tabell, till exempel Gantt-schemat.
  2. Visa bara de aktiviteter som du vill beräkna en summa för antingen genom tillämpa ett filter eller genom att dölja eller Visa underaktiviteter.
  3. Peka på Makro på Verktyg-menyn och klicka sedan på makron.
  4. Markera SumFilteredList i listan makron och klicka sedan på Kör.

Ändra makrot

Om du vill summera värden från fält än Tal1 Ersätt referensen till Tal1 på raden kommenterade med"summan" med namnet på den fält som du vill härleda en summa. Placera summan i ett fält än tal1, Ersätt referensen till Tal1 på raden kommenterade med "Fält som innehåller totalt" med namnet på fältet som du faktiskt vill placera totalen.

Om fältet som du vill summera är ett beräknat fält som exempelvis Kostnad eller verklig kostnad och sedan summan måste placeras i ett icke beräknade fält till exempel Kostnad1 eller Tal1. Det innebär kostnadsfält att få totalen för alla synliga uppgifter och placera summan i fältet Kostnad1 uppgiftens "Summa" Du skulle ändra raderna anges enligt följande:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Egenskaper

Artikel-id: 124482 - Senaste granskning: den 29 april 2013 - Revision: 1.0
Informationen i denna artikel gäller:
  • Microsoft Project 98 Standard Edition
  • Microsoft Project 4.1 Standard Edition
  • Microsoft Project 4.0 Standard Edition
  • Microsoft Project 4.0 för 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
Nyckelord: 
kbcode kbhowto kbprogramming kbmt KB124482 KbMtsv
Maskinöversatt
VIKTIGT: Denna artikel har översatts av Microsofts programvara för maskin-översättning och möjligen efterredigerats via CTF-teknologi av Microsofts community istället för av en professionell mänsklig översättare. För att du på ditt eget språk skall få tillgång till samtliga Knowledge Base-artiklar erbjuder Microsoft både mänskligt översatta såväl som maskinöversatta artiklar samt artiklar som efterredigerats av en community. En maskinöversatt artikel likväl som en artikel som blivit efterredigerad av en community är dock inte alltid helt perfekt, då de kan innehålla misstag i ordförrådet, syntax- och grammatikfel. Microsoft är inte ansvarigt för några felaktigheter, misstag eller skador orsakade av felöversättningar eller för våra kunders bruk av innehållet. Microsoft uppdaterar ofta sin programvara för maskinöversättning samt de verktyg som förbättrar den maskinöversatta efterredigeringen.
Den engelska versionen av artikeln är följande: 124482

Ge feedback

 

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