Project2007: Summe Einheiten der Arbeit – als Zusatzanzeige für Dauer des Sammelvorganges?

Anonym
2011-03-13T09:54:42+00:00

Hallo Allseits,

immer wieder mal kommt folgende Situation vor:

Der Sammelvorgang zeigt (richtig) 5 Tage Dauer an.

Die Teilvorgänge dauern in der Summe aber nur 3 Tage...und der Kunde schaut zuerst auf die Dauer des Sammelvorgangs...und stellt dann die Fragen…

Problematisch – und die Erklärungen immer länger - wird es,  je höher (z.Bsp. mehrere Wochen/Monate) der Sammelvorgangszeitraum ist.

Als Beispiel:

  • eine 'normale' 5-Tage-Arbeitswoche
  • Vorgang 1: am Montag = 1 Tag
  • Vorgang 2: am Montag und am Dienstag = 2 Tage
  • Vorgang 3: am Freitag = 1 Tag

-> dafür Dauer des Sammelvorgangs = 5 Tage

-> an 3 Tagen finden aber nur Vorgänge statt

-> am Montag, Dienstag und am Freitag

Kennt Ihr ähnliche Situationen aus Eurer MS-Project-Arbeit?

Habt Ihr dafür einen Lösungsansatz?

An der Idee einer  1:1-Einheitensteuerung (Summe der Arbeit – als Zusatzanzeige (im extra Feld) für Dauer des Sammelvorganges) bin ich  gescheitert, weil dies bei sich überlappenden Vorgängen nicht händelbar ist und bei Vorgangverschiebungen gänzlich aus dem Raster fällt.

Danke für Eure Tipps und Hilfe - Gruß Steffen

Microsoft 365 und Office | Projekt | Andere | Windows
Microsoft 365 und Office | Projekt | Andere | Windows

Microsoft-Projektmanagementsoftware, die zum Planen, Verwalten und Kommunizieren eines Projektzeitplans und anderer Informationen zwischen Arbeitsgruppenmitgliedern, Projektmanager*innen und anderen Projektbeteiligten verwendet wird.

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
Antwort, die vom Frageautor angenommen wurde
Anonym
2011-03-18T06:16:11+00:00

und wenn für die Einzelvorgänge in Dauer2 auch die Dauer stehen soll:

Sub Duration2()

Dim T, ST As Task

Dim vdursub As Boolean

Dim vdate As Date

For Each ST In ActiveProject.Tasks

    If Not ST Is Nothing Then

        If ST.Summary Then

                vdur = 0

                For vdate = ST.Start To ST.Finish

                    vdursub = False

                    For Each T In ST.OutlineChildren

                        If T.Start <= vdate And T.Finish >= vdate _

                        And ActiveProject.Calendar.Period(vdate, vdate).Working Then

                            vdursub = True

                        End If

                    Next T

                    If vdursub Then

                        vdur = vdur + 1

                    End If

                Next vdate

        ST.Duration2 = vdur * 480

        Else

            ST.Duration2 = ST.Duration

        End If

    End If

Next ST

End Sub

Gruß

Barbara

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare
Antwort, die vom Frageautor angenommen wurde
Anonym
2011-03-17T10:10:51+00:00

Hallo Steffen,

da stehe ich vor einem Rätsel. Bei mir läuft es problemlos. Ein Voraussetzung muss allerdings erfüllt sein: es muss für einen Tag Arbeit geben, damit er zu dieser Dauer addiert wird. Ein Plan ohne Arbeit bzw. Zuordnungen liefert nichts, da hier nicht wirkllich die Dauer betrachtet wird, sondern die Arbeitstage - heisst, es muss für den Tag was da sein (Ansicht Vorgang Einsatz). Ist das der Fall?

Gruß

Barbara

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare

36 zusätzliche Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2011-03-16T11:05:29+00:00

    Hallo Barbara, danke für Hinweis. Der 'Kalendername' im Code war falsch geschrieben....

    Tja, aber ich denke die Sache ist nicht so ganz der Treffer, weil neue Sammelvorgänge = neue arbeitsfreie Tage - das gibt es dann nicht her... Mit dem Feld 'Dauer Sammelvorgang' lässt sich auch nichts berechnen.

    Gruß Steffen

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Anonym
    2011-03-15T18:16:57+00:00

    Hallo Steffen,

    hmm, bei mir passt es. Das Macro hab ich nur zur Verfügung gestellt, weil ich Fragen zu Excel-Makros entdeckt habe, und damit die Grundidee hoffentlich klar war? ;-)

    Ich habe eine Kopie des Standardkalenders erstellt, die "DauerKal" genannt, so dass die Zeile

    If c.Name = "<neuerKalendername>" Then 'Kalendernamen definieren

    bei mir

    If c.Name = "<"DauerKal" Then 'Kalendernamen definieren

    war. Ich setze also keine arbeitsfreien Tage in den Standardkalender ein, sondern nur in den, der in der Dauerformel verwendet wird.

    Ersetz mal 

    c.Period(vdate, vdate).Working = False

    durch

     c.Period(vdate, vdate).Working = False

     msgbox vdate

    Dann sehen wir mal, ob er dort überhaupt landet.

    Gruß

    Barbara

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  3. Anonym
    2011-03-15T15:29:56+00:00

    Hallo Barbara, danke für den Code (für mich jede Menge 'Bahnhof'...). Irgendwie klemmt es aber: Die Tage werden nicht auf noWork gesetzt. Gruß Steffen

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare