PRJ: Macro para sumar los valores de la lista filtrada

Seleccione idioma Seleccione idioma
Id. de artículo: 124482 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

La macro de ejemplo de Microsoft Project en la sección "Más información" de en este artículo resume los valores numéricos de una lista de tareas visibles y muestra el total de una fila de tareas en la parte inferior de la lista.

Más información

Microsoft proporciona ejemplos de Visual Basic para Aplicaciones de los procedimientos para ilustrativos únicamente, sin garantía expresa o implícita, incluyendo, pero sin limitarse a las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Los procedimientos de Visual Basic en este artículo son proporciona "tal cual" y Microsoft no garantiza que puede utilizarse en todas las situaciones. Mientras que los profesionales de Microsoft Support pueden ayudar a explicar el funcionalidad de una macro determinada, no modificarán estos ejemplos para proporcionar una funcionalidad adicional ni le ayudarán a usted crear macros para satisfacer sus necesidades específicas. Si tiene poca experiencia en programación, quizás desee consultar uno de los proveedores de soluciones de Microsoft. Solución Los proveedores ofrecen una amplia gama de servicios de pago, incluida la creación de macros personalizadas. Para obtener más información acerca de los proveedores de soluciones de Microsoft Llame al servicio de información al cliente de Microsoft en (800) 426-9400.

La siguiente macro suma los valores de los campos Número1 de ver todos tareas. Después de ejecutar esta macro, se creará una nueva tarea denominada "Total" y se muestra al final del proyecto activo. El campo Número1 en este tarea contendrá la suma de los valores de número 1 para todos los otros visibles tareas.

Microsoft Project 2010 y 2013

  1. En la cinta de opciones de vista , seleccione Macros y haga clic en Ver Macros.
  2. Escriba el nombre "SumFilteredList y haga clic en Create.
  3. Copie el código del paso 6 más abajo en el módulo 1, que se abre en el editor de Visual Basic.
Para utilizar esta macro, haga lo siguiente:

  1. Seleccione una vista de tareas que utiliza una tabla, por ejemplo, el gráfico de Gantt.
  2. Mostrar sólo las tareas que va a calcular un total de, ya sea aplicando un filtro o de ocultar o mostrar las subtareas.
  3. En la cinta de opciones de vista , seleccione Macrosy, a continuación, haga clic en Ver Macros.
  4. En la lista de macros, seleccione SumFilteredList y, a continuación, haga clic en Ejecutar.


Microsoft Project 98, 2000, 2002, 2003 y 2007
  1. En el menú Herramientas, elija Macro y, a continuación, haga clic en Macros.
  2. En el campo nombre de la Macro, escriba SumFilteredList. Haga clic en crear.
  3. Microsoft Project 2010
  4. Seleccione la ficha Ver y haga clic en Macros
  5. En el cuadro de diálogo Macros , tipo SumFilteredList en el Nombre de la Macro y haga clic en crear.
  6. En el Editor de Visual Basic, escriba el siguiente código:
          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. En el menú Herramientas, haga clic en Macros.
  2. Haga clic en nuevo.
  3. En el campo nombre de la Macro, escriba SumFilteredList. Haga clic en Aceptar.
  4. En el Editor de módulo, escriba el siguiente código:
          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, haga lo siguiente:

  1. Seleccione una vista de tareas que utiliza una tabla, por ejemplo, el gráfico de Gantt.
  2. Mostrar sólo las tareas que va a calcular un total por cualquiera de aplicar un filtro o por ocultar o mostrar las subtareas.
  3. En el menú Herramientas, haga clic en Macros.
  4. En la lista de macros, seleccione SumFilteredList y, a continuación, haga clic en ejecutar.
Para utilizar esta macro, haga lo siguiente:

  1. Seleccione una vista de tareas que utiliza una tabla, por ejemplo, el gráfico de Gantt.
  2. Mostrar sólo las tareas que va a calcular un total por cualquiera de aplicar un filtro o por ocultar o mostrar las subtareas.
  3. En el menú Herramientas, elija Macro y, a continuación, haga clic en Macros.
  4. En la lista de macros, seleccione SumFilteredList y, a continuación, haga clic en ejecutar.

Modificación de la Macro

Para sumar los valores de los campos que no sean Número1, reemplace la referencia a Número 1 en la línea, comentó con "Campo de suma" con el nombre de la campo para el que deben derivar de un total. Para colocar el total en un campo que no sea el número 1, reemplace la referencia al número 1 en la línea de comentarios con "Campo que contiene total" con el nombre del campo en el que se ¿Realmente desea colocar el total.

Por ejemplo, si el campo que desee sumar es un campo calculado, tales como Costo o costo real, a continuación, la suma se debe colocar en un campo no calculados, Por ejemplo, Costo1 o Número1. Por lo tanto obtener el total de campos de costo para todos tareas visibles y colocar el total en el campo Costo1 de la tarea "Total", ¿Cambie las líneas indicadas como sigue:
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Propiedades

Id. de artículo: 124482 - Última revisión: lunes, 29 de abril de 2013 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Project 98 Standard
  • Microsoft Project 4.1 Standard
  • Microsoft Project 4.0 Standard
  • Microsoft Project 4.0 para Macintosh
  • Microsoft Office Project Standard 2007
  • Microsoft Office Project Standard 2003
  • Microsoft Project 2000 Standard
  • Microsoft Project 2002 Standard
  • 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
  • Microsoft Project Professional 2010
  • Microsoft Project Server 2002
  • Microsoft Project Server 2010
  • Microsoft Project 2013 Professional
  • Microsoft Project 2013 Standard
Palabras clave: 
kbcode kbhowto kbprogramming kbmt KB124482 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 124482

Enviar comentarios

 

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