MS Project 2010

Fragen zu allen anderen Office Anwendungen

Moderator: ModerationP

MS Project 2010

Beitragvon GoTo92 » 29. Nov 2017, 11:35

Hallo,

ich würde gerne in Project verschiedene Spalten mit der "% Abgeschlossen" Spalte verknüpfen.
Ich habe beispielsweise die Spalten "Dokument gesendet" und "Dokument erhalten".
Sobald ich in der Spalte "Dokument gesendet" ein Häckchen/x eingeben, soll bei "% Abgeschlossen" 50% erscheinen.
Sobald ich in der Spalte "Dokument erhalten" ein Häckchen/x eingebe, soll bei "% Abgeschlossen" 100% erscheinen.

Kann mir jemand helfen wie ich diese Funktion erstellen kann?

Vielen Dank im Vorraus!

Janik
GoTo92
Neuling
 
Beiträge: 1
Registriert: 29. Nov 2017, 11:24

Re: MS Project 2010

Beitragvon Xlsibb » 08. Dez 2017, 15:18

Hallo Janik,

da muss ich ein wenig ausholen. Leider kann ich keine Datei mit Makros hochladen, das verhindert dieses Forum.
Ich habe "Attribut1" (Flag1) und "Attribut2" (Flag2) verwendet, um "Dokument gesendet" und "Dokument erhalten" mit Ja/Nein abzufragen.

Da Project kein Application.EnableEvents zur Verfügung stellt (jedenfalls kenne ich kein Äquivalent), musst du abfragen, ob du bereits auf ein Change-Ereignis reagiert hast. Sonst hört bei Auswahl von "Ja" die Schleife nicht mehr auf. Daher ist das ein wenig komplizierter.

Zunächst habe ich in VBA ein Modul hinzugefügt. Darin folgende globale Variable deklariert:
Code: Alles auswählen
Public blnOff As Boolean


Dann habe ich in das Project Change-Ereignis folgenden Code geschrieben:
Code: Alles auswählen
Private Sub Project_Change(ByVal pj As Project)

Dim varW1 As Variant, varW2 As Variant

    If blnOff = True Then GoTo Ende 'Rücksetzen der Variable und absolutes Prozedurende

    varW1 = ActiveSelection.Tasks(1).GetField(pjTaskFlag1)
    varW2 = ActiveSelection.Tasks(1).GetField(pjTaskFlag2)
    If varW1 = "Ja" Then
        ActiveSelection.Tasks(1).SetField FieldID:=pjTaskPercentComplete, Value:="50%"
        blnOff = True
        Exit Sub
    End If
    If varW2 = "Ja" Then
        ActiveSelection.Tasks(1).SetField FieldID:=pjTaskPercentComplete, Value:="100%"
        blnOff = True
        Exit Sub
    End If
Ende:
    blnOff = False
End Sub


Ich hoffe, das ist soweit klar geworden. Ich muss da leider ein paar Dinge voraussetzen.
Benutzeravatar
Xlsibb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1208
Registriert: 26. Feb 2009, 17:07


Zurück zu Andere Office Fragen (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron