PRJ: Macro para valores de soma numa lista filtrada

Traduções de Artigos Traduções de Artigos
Artigo: 124482 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

A macro de exemplo do Microsoft Project na secção "Mais informação" Este artigo soma os valores numéricos de uma lista de tarefas visíveis e apresenta o total de uma linha de tarefa na parte inferior da lista.

Mais Informação

A Microsoft fornece exemplos do Visual Basic para obter procedimentos para aplicações Ilustração apenas, sem garantia expressa ou implícita, incluindo, mas não se limitando, garantias implícitas de comercialização e/ou adequação a um fim específico. Os procedimentos do Visual Basic no presente artigo são fornecida 'tal como está' e a Microsoft não garante que pode ser utilizados todas as situações. Enquanto profissionais da Microsoft Support podem ajudar a explicar o a funcionalidade de uma determinada macro, não modificarão estes exemplos para Fornece funcionalidade adicionada, nem ajudarão a construir a macros satisfazer as necessidades específicas. Se dispõe de limitada experiência de programação, poderá pretender consultar um dos fornecedores de soluções Microsoft. Solução Fornecedores de oferecem uma vasta gama de serviços baseado em taxas, incluindo a criação macros personalizadas. Para mais informações sobre fornecedores de soluções da Microsoft Chame o serviço de informações do cliente Microsoft através do número (800) 426-9400.

A macro seguinte soma os valores dos campos Número1 de todos visíveis tarefas. Depois de executar esta macro, será criada uma nova tarefa com o nome "Total" e apresentada no fim do projecto activo. O campo Número1 deste tarefa conterá a soma dos valores Núm1 para todos os outros visível tarefas.

Microsoft Project 2010 e 2013

  1. No friso vista , seleccione as Macros e clique em Ver Macros.
  2. Introduza o nome "SumFilteredList e clique em criar.
  3. Copie o código do passo 6 abaixo em Módulo1 que é aberto no editor do Visual Basic.
Para utilizar esta macro, efectue o seguinte:

  1. Seleccione uma vista de tarefa que utiliza uma tabela, como o gráfico de Gantt.
  2. Apresente apenas as tarefas que pretende calcular um total para aplicando um filtro ou por ocultar ou mostrar as subtarefas.
  3. No friso vista , seleccione as Macrose, em seguida, clique em Ver Macros.
  4. Na lista de atalhos, seleccione SumFilteredList e, em seguida, clique em Executar.


Microsoft Project 98, 2000, 2002, 2003 e 2007
  1. No menu Ferramentas, aponte para Macro e, em seguida, clique em Macros.
  2. No campo nome da Macro, escreva SumFilteredList. Clique em criar.
  3. Microsoft Project 2010
  4. Seleccionar o separador Ver e clique em Macros
  5. Na caixa de diálogo Macros , o tipo de SumFilteredList no Nome da Macro apresentado e clique em Criar.
  6. No Editor do Visual Basic, introduza o código seguinte:
          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
    						

4. X do Microsoft Project

  1. No menu Ferramentas, clique em Macros.
  2. Clique em novo.
  3. No campo nome da Macro, escreva SumFilteredList. Clique em OK.
  4. No Editor do módulo, introduza o código seguinte:
          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
    						
Para utilizar esta macro, efectue o seguinte:

  1. Seleccione uma vista de tarefa que utiliza uma tabela, como o gráfico de Gantt.
  2. Apresentar apenas as tarefas que pretende calcular um total para por aplicar um filtro ou por ocultar ou mostrar as subtarefas.
  3. No menu Ferramentas, clique em Macros.
  4. Na lista de atalhos, seleccione SumFilteredList e, em seguida, clique em executar.
Para utilizar esta macro, efectue o seguinte:

  1. Seleccione uma vista de tarefa que utiliza uma tabela, como o gráfico de Gantt.
  2. Apresentar apenas as tarefas que pretende calcular um total para por aplicar um filtro ou por ocultar ou mostrar as subtarefas.
  3. No menu Ferramentas, aponte para Macro e, em seguida, clique em Macros.
  4. Na lista de atalhos, seleccione SumFilteredList e, em seguida, clique em executar.

Modificar a Macro

Para somar valores de campos que não Número1, substituir a referência a Núm1 na linha comentadas com "Campo soma" com o nome do campo para o qual pretende calcular um total. Para colocar o total num campo que não Número1, substituir a referência a Núm1 na linha Comentada com "Campo que contém total" com o nome do campo no qual é na realidade pretende colocar o total.

Por exemplo, se o campo que pretende somar é um campo calculado, tal como Custo ou custo real, em seguida, a soma tem de ser colocada num campo não calculada, Por exemplo, Custo1 ou Número Empresa1. Por conseguinte obter o total campos de custo para todas as tarefas visíveis e o local o total no campo Custo1 da tarefa "Total", Altere as linhas indicadas do seguinte modo:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Propriedades

Artigo: 124482 - Última revisão: 29 de abril de 2013 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Project 98 Standard Edition
  • Microsoft Project 4.1 Standard Edition
  • Microsoft Project 4.0 Standard Edition
  • Microsoft Project 4.0 para 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
Palavras-chave: 
kbcode kbhowto kbprogramming kbmt KB124482 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 124482

Submeter comentários

 

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