PRJ: Makro å summere verdier i en filtrert liste

Artikkeloversettelser Artikkeloversettelser
Artikkel-ID: 124482 - Vis produkter som denne artikkelen gjelder for.
Vis alt | Skjul alt

På denne siden

Sammendrag

Microsoft Project-eksempelmakro i delen "Mer informasjon" i Denne artikkelen summerer numeriske verdier fra en liste over oppgaver som vises, og viser Sum i en aktivitetsrad nederst i listen.

Mer informasjon

Microsoft gir eksempler på Visual Basic for Applications-prosedyrer for kun uten garanti uttrykte eller underforståtte, inkludert, men ikke begrenset til, stilltiende garantier om salgbarhet og anvendelighet for et bestemt formål. Visual Basic-prosedyrene i denne artikkelen levert "som den er", og Microsoft garanterer ikke at de kan brukes i alle situasjoner. Mens Microsoft Support-teknikere kan bidra til å forklare den funksjonaliteten til en bestemt makro, de endrer ikke disse eksemplene for å gir ekstra funksjonalitet, og heller ikke de hjelper deg lage makroer etter behov. Hvis du har begrenset erfaring med programmering, du vil kanskje se en av Microsoft Solution Providers. Løsning Leverandører tilbyr en lang rekke avgiftsbaserte tjenester, inkludert oppretting egendefinerte makroer. Hvis du vil ha mer informasjon om Microsoft Solution Providers, ringe Microsofts kundestøtteavdeling informasjon på telefonnummer (800) 426-9400.

Makroen nedenfor summerer verdiene fra feltene nummer 1 for alle er synlige aktiviteter. Når du kjører denne makroen, vil bli opprettet en ny aktivitet kalt "Total" og vises på slutten av det aktive prosjektet. Nummer1-feltet i dette oppgaven inneholder summen av verdiene for alle andre synlige nummer 1 aktiviteter.

Microsoft Project 2010 og 2013

  1. Velg makroerVis båndet og klikker du Vis makroer.
  2. Skriv inn navnet "SumFilteredList, og klikk Opprett.
  3. Kopier koden fra trinn 6 nedenfor til Modul1 som er åpnet i Visual Basic-redigering.
Hvis du vil bruke denne makroen, gjør du følgende:

  1. Velg en aktivitetsvisning som bruker en tabell, for eksempel Gantt-diagrammet.
  2. Vise bare aktivitetene du vil beregne en totalsum for, ved å bruke et filter eller ved å skjule eller vise delaktiviteter.
  3. Vis båndet, velger du makroer, og deretter klikker du Vis makroer.
  4. Velg SumFilteredList i makro-listen, og klikk deretter Kjør.


Microsoft Project 98, 2000, 2002, 2003 og 2007
  1. Velg makro på Verktøy-menyen, og klikk deretter makroer.
  2. I Makronavn-feltet skriver du inn SumFilteredList. Klikk Opprett.
  3. Microsoft Project 2010
  4. Velg kategorien Vis , og klikk makroer
  5. I dialogboksen makroer arkivert type SumFilteredList i Makronavn , og klikk Opprett.
  6. I Visual Basic-redigering, Skriv inn følgende kode:
          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. Velg makroer på Verktøy-menyen.
  2. Klikk Ny.
  3. I Makronavn-feltet skriver du inn SumFilteredList. Klikk på OK.
  4. I modulen redigering, Skriv inn følgende kode:
          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
    						
Hvis du vil bruke denne makroen, gjør du følgende:

  1. Velg en aktivitetsvisning som bruker en tabell, for eksempel Gantt-diagrammet.
  2. Vise bare aktivitetene du vil beregne en totalsum for enten ved Når du bruker et filter eller ved å skjule eller vise delaktiviteter.
  3. Velg makroer på Verktøy-menyen.
  4. Velg SumFilteredList i makro-listen, og klikk deretter Kjør.
Hvis du vil bruke denne makroen, gjør du følgende:

  1. Velg en aktivitetsvisning som bruker en tabell, for eksempel Gantt-diagrammet.
  2. Vise bare aktivitetene du vil beregne en totalsum for enten ved Når du bruker et filter eller ved å skjule eller vise delaktiviteter.
  3. Velg makro på Verktøy-menyen, og klikk deretter makroer.
  4. Velg SumFilteredList i makro-listen, og klikk deretter Kjør.

Endre makroen

Summere verdier fra andre felt enn Tall1, erstatte referansen til Nummer 1 på linjen kommentert med "-feltet skal summeres" med navnet på den feltet som du ønsker å avlede en total. Å sette inn summen i et felt erstatte referansen til nummer 1 på linjen kommentert enn Tall1; med "Felt som inneholder totalt" med navnet på feltet som du faktisk vil sette inn summen.

Hvis feltet du vil summere er et beregnet felt, som for eksempel Kostnader eller faktiske kostnader, og summen må plasseres i et ikke-beregnet felt for eksempel kostnader 1 eller nummer 1. Derfor, for å få totalsummen kostnadsfelt for alle synlig oppgaver og plass totalt i kostnader 1-feltet for aktiviteten "Total" du vil endre de angitte linjene som følger:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Egenskaper

Artikkel-ID: 124482 - Forrige gjennomgang: 29. april 2013 - Gjennomgang: 1.0
Informasjonen i denne artikkelen gjelder:
  • 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
Nøkkelord: 
kbcode kbhowto kbprogramming kbmt KB124482 KbMtno
Maskinoversatt
VIKTIG: Denne artikkelen ble oversatt med maskinoversettelsesprogramvare fra Microsoft og muligens redigert av Microsoft Community via CTF-teknologi i stedet for av en oversetter. Microsoft tilbyr både menneskelig oversatte og maskinoversatte/Community-redigerte artikler, slik at du får tilgang til alle artiklene i vår Knowledge Base på ditt eget språk. En maskinoversatt eller Community-redigert artikkel er imidlertid ikke alltid perfekt. Den kan inneholde feil i vokabular, syntaks eller grammatikk, mye likt en fremmedspråklig som forsøker å snakke språket ditt. Microsoft har ikke ansvar for unøyaktige opplysninger, feil eller skade forårsaket av feilaktig oversettelse av innholdet eller kundenes bruk av informasjonen. Microsoft oppdaterer jevnlig maskinoversettelsesprogramvaren og -verktøyene for å forbedre redigering av maskinoversatte tekster.
Den engelske versjonen av denne artikkelen er den følgende: 124482

Gi tilbakemelding

 

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