¡Bienvenido! al foro de consultas y comentarios de Ms Project

Envía a imartin@epmconsultores.com o a través de mi perfil tus consultas sobre Microsoft Project, Professional, Server, etc ... o bien añade respuestas y comentarios a los temas ya publicados. Ignacio Martín
http://www.epmconsultores.com/cursomicrosoftproject2013.html
http://www.epmconsultores.com/cursomsproject2013.html
http://www.epmconsultores.com/cursodeproject.html

02 junio 2011

Macro para pasar datos de tablas de Tareas a vista Uso de recursos en Microsoft Project


Hola, mis consultas son las siguientes:


1)     A cada tarea le asigno un campo personalizado con un valor. Además cada una de esas tareas posee recursos asignados. En la Tabla "Uso de Recursos" puedo observar cada uso de recurso pero me interesaría que mostrara también al lado de cada tarea el campo con el valor que ingresé en la tabla Diagrama de Ganttt". ¿Cómo puedo hacer para que se vean estos valores en la Tabla "Uso de Recursos"?


2)     En la tabla "Uso de Recursos", me muestra cada uno de los recursos con sus tareas a cumplir. ¿Puedo además que al lado de cada tarea me muestre los demás recursos que cada una de esas tareas necesita?

Desde ya muchas gracias.
Saludos
Andrés Mozzatti

Respuesta [Ignacio Martín]:


Hola Andrés.
 
Actualmente no es posible incluir campos de tablas de tareas (vista Diagrama de Gantt por ejemplo) en tablas de asignaciones (vista Uso de Recursos). Y en relación a esto hay que entender que un campo personalizado de tareas como por ejemplo Texto1 es distinto al campo personalizado Texto1 de la vista Uso de recursos.
 
No obstante adjunto a continuación una Macro(programita) que puedes ejecutar en tus proyectos para pasar los campos Texto24 y Recursos asignados, del Gantt a Uso de Recursos como solicitas. Igual que Texto24, puede ser cualquier otro campo que deberás sustituir en la macro.
 
En breve publicaré una entrada en este blog que explica cómo crear y asociar un botón en la barra de herramientas para ejecutar una macro. De momento puedes copiar y pegar el contenido de la maco de más abajo.
--------------------------------
Sub Macro_pasar_datos_tareas_a_sus_asignaciones()
' Macro para pasar datos de tareas a sus asignaciones de la tabla Uso de recursos
' Macro creada el 25/05/11 por cortesía de Ignacio Martin - ignacio.mvp@microsoftproject.es
' En este ejemplo se ha supuesto como campo personalizado de tarea el Texto24 (Text24)
' El campo de tarea Texto24 (Text24) se pasará al campo de asignación Texto24( Text24)
' Además se pasará el campo de los Recursos asignados a la tarea (ResourceNames) al campo de asignación Texto25 (Text25)
' Nota.- Se deberá ejecutar la macro cada vez que se desee actualizar los datos, recomendable poner un botón en la barra de herramientas
' Nota.- No es necesario tener activa la vista Uso de recursos al ejecutar la macro
  On Error GoTo ErrorMacro
      Dim recur_n, asig_n, ultimorecur, ultimaasig, IDtarea As Integer
        Dim campoper, recsasig As String
        ultimorecur = ActiveProject.Resources.Count
        For recur_n = 1 To ultimorecur
        ultimaasig = ActiveProject.Resources.UniqueID(recur_n).Assignments.Count
            For asig_n = 1 To ultimaasig
                        IDtarea = ActiveProject.Resources.UniqueID(recur_n).Assignments(asig_n).TaskUniqueID
                        ' Cambia aqui el campo personalizado de tareas (Text24) por el que corresponda en tu tabla de tareas
                        campoper = ActiveProject.Tasks.UniqueID(IDtarea).Text24
                        recsasig = ActiveProject.Tasks.UniqueID(IDtarea).ResourceNames
                        ' Cambiar si se desea los campos a los que van  a parar los datos de la tabla de asignaciones (Texto24 y Texto25) de Uso de recursos                              
                      ActiveProject.Resources.UniqueID(recur_n).Assignments(asig_n).Text24 = campoper
                        ActiveProject.Resources.UniqueID(recur_n).Assignments(asig_n).Text25 = recsasig
                       Next asig_n
            Next recur_n
        Exit Sub
           ErrorMacro:
      Resume Next
            End Sub
-------------------------------------
* Corrección incluida recientemente
Espero sea de utilidad.