PRJ: Macro la suma valorilor din Listă tabel filtrată

Traduceri articole Traduceri articole
ID articol: 124482 - View products that this article applies to.
Măriți totul | Reduceți totul

În această pagină

Rezumat

Microsoft Project eșantion macrocomanda în secțiunea "Mai multe informații" a Acest articol însumează valorile numerice din Listă tabel de sarcini de vizibil și afișează total într-un rând de sarcină în The Bottom a listei.

Informații suplimentare

Microsoft oferă exemple de Visual Basic pentru aplicații procedurile de ilustrare numai, fara garantie fie exprimate sau implicite, incluzând, dar nu limitat la garantiile implicite de vandabilitate și/sau de fitness pentru un anumit scop. Visual Basic procedurile din acest articol sunt furnizate "ca atare" și Microsoft nu garantează că acestea pot fi utilizate în toate situațiile. În marcă de timp ce Microsoft Support profesioniști pot ajuta la explicarea funcționalitatea de o anumită macrocomandă, se va modifica aceste exemple pentru a oferă funcționalitate adăugată, nici ele vă va ajuta construi macro-uri pentru a satisface nevoile dumneavoastra specifice. Dacă ați limitat experiență de programare, vă poate doriți să consulte unul dintre furnizorii de soluții Microsoft. Soluție Furnizori oferă o gamă largă de consolidare servicii bazate pe taxă, inclusiv crearea de macrocomenzile particularizate. Pentru mai multe informații despre Microsoft furnizori de soluții, apel sosit serviciu de informații client Microsoft la (800) 426-9400.

Următoarea macrocomandă însumează valorile din câmpurile Number1 de toate vizibile sarcini. După ce executați această macrocomandă, va fi creată o nouă activitate numit "Total" și afișate la sfârșitul proiectul activ. În acest câmp Number1 sarcina va conține totalul valorilor Number1 pentru toate celelalte vizibil sarcini.

Microsoft Project 2010 și 2013

  1. Vezi panglică, selectați macrocomenzi și faceți clic pe Vedere macro-uri.
  2. Introduceți nume de sign-in de "SumFilteredList și faceți clic pe Creare.
  3. Copiați codul de la Pasul 6 de mai jos în Module1 care este deschis în Visual Basic Editor.
Pentru a utiliza această macrocomandă, efectuați următoarele:

  1. Selectați o vizualizare Proiect de sarcina care foloseste un tabel, precum diagrama Gantt.
  2. Afișează numai activitățile pe care doriți să calculați un total, fie prin aplicarea unui filtru sau prin ascunderea sau afișarea subactivități pentru.
  3. Pe panglică Vezi , macro-uri, și apoi atunci pocnitură Vezi macro-uri.
  4. În Listă tabel de macrocomenzi, SumFilteredList, și apoi atunci pocnitură a alerga.


Microsoft Project 98, 2000, 2002, 2003 și 2007
  1. În meniul Instrumente, indica?i macrocomandă, și apoi pe macrocomenzi.
  2. În câmpul nume, tastați SumFilteredList. Faceți clic pe Creare.
  3. Microsoft Project 2010
  4. Selectați fila vizualizare Proiect și faceți clic pe macrocomenzi
  5. În casetă de dialog Macros , tip SumFilteredList în nume de sign-in dosar și faceți clic pe Creare.
  6. În Visual Basic Editor, introduceți codul de următoarele:
          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 proiect 4.x

  1. În meniul Instrumente, faceți clic pe macrocomenzi.
  2. Faceți clic pe nou.
  3. În câmpul nume, tastați SumFilteredList. Faceți clic pe OK.
  4. În modulul Editor, introduceți codul de următoarele:
          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
    						
Pentru a utiliza această macrocomandă, efectuați următoarele:

  1. Selectați o vizualizare Proiect de sarcina care foloseste un tabel, precum diagrama Gantt.
  2. Afișează numai activitățile pe care doriți pentru a calcula un total pentru fie prin aplică un filtru sau prin ascunderea sau afișarea subactivități.
  3. În meniul Instrumente, faceți clic pe macrocomenzi.
  4. În Listă tabel de macrocomenzi, SumFilteredList, și apoi atunci pocnitură a alerga.
Pentru a utiliza această macrocomandă, efectuați următoarele:

  1. Selectați o vizualizare Proiect de sarcina care foloseste un tabel, precum diagrama Gantt.
  2. Afișează numai activitățile pe care doriți pentru a calcula un total pentru fie prin aplică un filtru sau prin ascunderea sau afișarea subactivități.
  3. În meniul Instrumente, indica?i macrocomandă, și apoi pe macrocomenzi.
  4. În Listă tabel de macrocomenzi, SumFilteredList, și apoi atunci pocnitură a alerga.

Modificarea Macro

Suma valorilor din câmpuri decât Number1, înlocuiți trimiterea la Number1 pe linia comentat cu "Câmp suma" cu nume de sign-in de câmpul pentru care doriți pentru a obține un total. Pentru a plasa total într-un câmp decât Number1, înlocuiți trimiterea Number1 pe linia de comentat cu care "câmp conține totalul" cu nume de sign-in de domeniu în care vă de fapt doriți să plasați în total.

De exemplu, dacă domeniul pe care doriți să suma este un câmp calculat, cum ar fi Costul sau costul real, atunci suma trebuie plasat într-un câmp non-calculat, cum ar fi Cost1 sau Number1. Prin urmare, pentru a obține în total costul câmpuri pentru toate vizibil sarcini și locul total în domeniul Cost1 de sarcina "Total", s-ar schimba liniile indicate după cum urmează:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Proprietă?i

ID articol: 124482 - Ultima examinare: 29 aprilie 2013 - Revizie: 1.0
Se aplică la:
  • Microsoft Project 98 Standard Edition
  • Microsoft Project 4.1 Standard Edition
  • Microsoft Project 4.0 Standard Edition
  • Microsoft Project 4.0 pentru 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
Cuvinte cheie: 
kbcode kbhowto kbprogramming kbmt KB124482 KbMtro
Traducere automată
IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât și articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuși, un articol tradus automat nu este întotdeauna perfect. Acesta poate conține greșeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greșeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conținutului sau de utilizarea traducerii necorespunzătoare de către clienții nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 124482

Trimite?i 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