¡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

14 marzo 2012

Curvas S (II)


Estimado Ignacio,

quería ver la posibilidad de que me ayudara a crear una macro para sacar una curva S desde el MS Project 2010 a Excel, ya que dicho MsProject no cuenta con análisis temporal como la versión 2003. Cualquier comentario o sugerencia será bién recibida.

Saludos.

Ricardo Ortiz G.
Ingeniero Constructor
Chile

Respuesta [Ignacio Martín]:

Hola Ricardo,

aunque puedes mirar el artículo anterior relativo a Curvas S en este mismo foro de Ms Project, repasaremos de nuevo de manera más puntual si cabe, la forma manual de extraer los datos de Microsoft Project, para que a partir de ahí puedas obtener las Curvas S a través de los gráficos de Excel, siendo las más habituales las referidas a las Horas de trabajo de los recursos y al Costo.

Se adjunta una imagen de muestra que acabo de realizar incluyendo las dos representaciones (Trabajo y Costo).

Las premisas iniciales son las siguientes:


1. El proyecto debe de tener recursos asignados para obtener las curvas S de Trabajo.

2. Los recursos deben de incluir Tasa (precio/h), aunque también se puede obtener las curvas S del Costo sin utilizar recursos.

3. Se debe establecer una Línea de base o plan previsto.

4. El proyecto debe de estar actualizado en Comienzo real, Fin real (si terminó la tarea), Trabajo real (o % avance, siempre y cuando esté así configurado en las Opciones), Trabajo restante(revisión) y Costo real (si no se usan recursos, porque si no lo calcula Project automáticamente siempre y cuando esté así configurado en las Opciones), a una Fecha de estado o corte.

5. Se debe reprogramar todo el trabajo retrasado a partir de la Fecha de estado.

Comentario: Los datos programados de Trabajo y Costo hasta la Fecha de estado o corte, son los mismos  que el Trabajo real y el Costo real.

El procedimiento manual para extraer los datos en Microsoft Project:


1. La opción Mostrar tarea de resumen del proyecto debe estar seleccionada.

2. Elegir la vista Uso de tareas.

3. Seleccionar con el botón secundario del ratón encima de la fase temporal (panel derecho con cuadrícula) únicamente los campos Trabajo previsto, Trabajo, Costo previsto y Costo con la ayuda de la opción Estilos de detalle. Ordenarlos en la forma indicada.

4. Utilizar el Zoom+ y Zoom- para elegir los períodos de la escala temporal, y por lo tanto las cantidades de trabajo y coste que se mostrarán en las columnas (días, semanas, meses,..).

5. Copiar las 4 primeras filas correspondientes al resumen del proyecto después de arrastrar el ratón por la columna primera de la fase temporal (Detalles).

Y en Excel:


1. Pegar las 4 filas de Project.

2. Mediante la opción Reemplazar, eliminar en toda la hoja el símbolo de las horas (h o hr o hrs) que acompaña a las cifras de trabajo al sustituirlo por nada (en blanco).

3. Incluir debajo una fila de títulos de semanas o meses, escribiendo en la primera celda la primera semana o mes, y arrastrando horizontalmente hasta el final se genera automáticamente el resto de títulos (p.e. ene-12; feb-12; mar-12...).

4. Introducir la fórmulas correspondientes en Excel para calcular los acumulados en las filas siguientes al título.

5. Insertar los 2 gráficos de línea seleccionando los rangos correspondientes, con títulos de los períodos incluidos ayudándose con la tecla Ctrl si es necesario.

Nota.- La línea discontinua verde que se muestra en la imagen superior corresponde a la fecha de estado, actualización o corte y se ha dibujado manualmente en el gráfico.

Espero haberte ayudado.

Saludos,

12 comentarios:

  1. Estimado Ignacio, he generado una macro para automatizar todo ese proceso en Excel, y la macro funciona muy bien. Paso los datos desde Ms-Project a Excel (con una macro que genera la planilla y copia los datos a excel aca tengo un problema que luego te comentaré), luego cree una macro para Excel que genera los valores, acumulados, absolutos, indices y las curvas de control (curvas S).
    El problema que generé una macro en Ms-Project para generar el resumen en la vista de Uso de Tareas (funciona bien), selecciona todos los datos y activa "copiar", luego crea el libro y hoja de Excel (funciona bien) y se debe pegar todos los datos a Excel en la Celda C2(funciona bien el copiado), pero los datos que pega tienen formato distinto al que tengo configurado en Ms-Project en lo referente a costos, en costos hay un valor (por ejemplo) $114.550 y al pegar automaticamente (con la macro) me pega el valor $114,55... lo cual está mal muy mal..... no he podido arreglar el problema.... me podrias ayudar por favor.... pego más abajo el codigo de la macro de Project:
    --------------------------
    Sub MacroCurvasS()
    ' Macro DatosExcelCurvasS
    ' Macro grabada el dom 15-07-12 por AntonioMolina.
    ViewApply Name:="Uso de tareas"
    PaneNext
    SelectTimescaleRange Row:=2, StartTime:="lun 02-01-84", Width:=24106, Height:=1
    DetailStylesRemove Item:=pjCumulativeWork
    DetailStylesRemove Item:=pjAllAssignmentRows
    DetailStylesRemove Item:=pjCumulativeCost
    DetailStylesAdd Item:=pjCumPctComplete, Position:=1
    DetailStylesFormat Item:=22, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=False
    DetailStylesAdd Item:=pjPctComplete, Position:=2
    DetailStylesFormat Item:=21, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=False
    DetailStylesAdd Position:=3
    DetailStylesFormat Item:=0, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=True
    DetailStylesAdd Item:=pjBaselineWork, Position:=4
    DetailStylesFormat Item:=7, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=True
    DetailStylesAdd Item:=pjActualWork, Position:=5
    DetailStylesFormat Item:=4, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=True
    DetailStylesAdd Item:=pjCost, Position:=6
    DetailStylesFormat Item:=1, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=True
    DetailStylesAdd Item:=pjBaselineCost, Position:=7
    DetailStylesFormat Item:=11, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=False
    DetailStylesAdd Item:=pjActualCost, Position:=8
    DetailStylesFormat Item:=10, Font:="Arial", Size:="8", Bold:=False, Italic:=False, Underline:=False, Color:=0, CellColor:=2, Pattern:=2, ShowInMenu:=True
    SelectTimescaleRange Row:=0, StartTime:="lun 02-01-84", Width:=24106, Height:=8
    NumberFormat = "###.##0"
    EditCopy
    Dim ObjExcel As Object
    Dim Libro As Object
    Dim Hoja As Object
    Dim NombreHoja As String
    Set Libro = Nothing
    'Crear el Objeto para abrir archivos EXCEL
    Set ObjExcel = CreateObject("Excel.Application")
    ObjExcel.Visible = True
    'Crear un nuevo libro
    Set Libro = ObjExcel.Workbooks.Add
    Set Hoja = Libro.Sheets(1)
    Libro.Sheets(1).Select
    Libro.Sheets(1).Name = "Hoja1"
    With Hoja
    .Cells(2, 3).Select
    Libro.Sheets(1).Paste
    .Cells(2, 3).Select
    End With
    End Sub

    ResponderEliminar
  2. Hola señor Ignacio;

    Excelente la explicación de como realizar la curva "s". me gustaría que ampliara con mas detalle el ultimo punto donde se pegan los detalles en excel.
    Saludos muchas gracias

    ResponderEliminar
  3. Ignacio MVP29 octubre, 2012

    Hola Antonio,

    que el separador de miles en Project sea un pinto "." y al pegar en Excel sea la coma "," creo que es un problema de la configuración del formato separadores de miles, en tu hoja Excel o en la configuración regional del sistema operativo en el panel de control. Por ejemplo si yo hago lo mismo, es decir copio $114.550 y pego en Excel, me lo deja igual. Quizás pueda estar relacionado con la macro y su lenguaje VB, que también tenga otra configuración para separadores de miles. Prueba a copiar y pegar directamente y si no te cambia entonces está relacionado con el formato que maneja VB.

    Saludos

    Ignacio Martín - MVP

    ResponderEliminar
    Respuestas
    1. Gracias Ignacio por la respuesta, al igual que tu pegando directamente no hay problema, es cuando se da el comando con la macro, con mayor razón entonces estoy seguro que el problema radica ahí. Algunos informáticos a los que les he preguntado no han sabido responderme, pero de todas maneras ya puedo solucionarlo de una manera "casera", si pongo los dígitos decimales (en Project) a más de cero, el comando de la macro me pega los números correctamente... raro pero funciona....

      Eliminar
  4. Ignacio MVP29 octubre, 2012

    Hola Jose,

    me imagino te refieres al punto 4 de la explicación de Excel, que dice "4. Introducir la fórmulas correspondientes en Excel para calcular los acumulados en las filas siguientes al título." Es decir que estos datos no los traigo de Project, simplemente escribo la fórmula que va acumulando los valores anteriores de cada mes.
    Ya sabes, el valor acumulado del mes anterior + el valor del mes. Y claro, esa fórmula se copia y pega en todos los meses de la derecha.

    Saludos

    Ignacio MVP

    ResponderEliminar
  5. Buen dia

    quiero hacer una linea de fecha de corte en la curva S de excel automaticamente que se ajuste a la fecha que anote,
    pero no me deja a la hora de seleccionar los datos,

    saludos

    ResponderEliminar
  6. Hola Ignación, excelente tu blog. Realmente es de gran aporte.

    Escribo para saber si haz programado en el entorno gráfico, del Msproject. Deseo graficar conjunto de rectas apartir de coordenadas y etiquetarlas. Deseo automatizar esto en el Msproject. O que alternativas de solución?.

    ResponderEliminar
    Respuestas
    1. Hola José Antonio.

      ¿Podrías describir un poco más lo que quieres representar y de qué coordenadas dispones?

      Saludos

      Eliminar
  7. HOLA PARA TODOS Uds soy nuevo en el foro tengo la macro para el envió de los datos de project a el Excel esta en un archivo que tiene un proyecto para que lo puedan ver como funciona como se los envio ?

    ResponderEliminar
    Respuestas
    1. Hola Manuel.

      Puedes subirlo a Google Drive, a Drobox o a One Drive por ejemplo y publicar el link de descarga en el Foro de Project. También te rogaría abrieras la macro y pegaras el texto que contiene en una entrada del Foro.

      Gracias por tu colaboración.

      Saludos.

      Eliminar
  8. Hola Ignacio trate de pegar el código pero es mayor la cantidad de caracteres que lo que permite el envió del sistema que otra forma hay de poder enviarles la macro ?

    ResponderEliminar
    Respuestas
    1. Hola Manuel,

      gracias por tu interés en colaborar en este foro.

      Quizás puedas publicar el código en diferentes partes consecutivas, o si lo prefieres envíamelo a mi dirección de correo Ignacio.mvp@microsoftproject.es y lo intento publicar de alguna forma.

      Saludos

      Eliminar

Introduce aquí tu comentario;