Dauer berechnen auf der Basis von Stückzahlen
29. Mai 2009 | Von gr | Kategorie: VBA Corner
Ein Kunde, der Microsoft Project zur Fertigungsplanung einsetzen möchte, hat die Frage aufgeworfen, ob Project die Vorgangsdauer auf der Basis der zu produzierenden Stückzahlen berechnen kann.
Nun kann Project bei der Berechnung der Dauer zwar vielerlei Faktoren berücksichtigen, aber so etwas wie Stückzahlen kennt das Programm natürlich nicht. Auch kann das Standardfeld „Dauer” nicht durch irgendeine Formel ersetzt werden.
Mit einem kleinen VBA-Makro läßt sich ein solcher Berechnungsmechanismus jedoch leicht realisieren. Wir benötigen dazu zwei numerische benutzerdefinierte Felder, im Beispiel Zahl1 und Zahl2, die Sie sinvollerweise umbenennen in „Stückzahl” und „Produktionszeit (s)”. FügenSie diese beiden Felder in eine beliebige Vorgangstabelle ein und geben Sie nun die Stückzahl sowie die Produktionszeit in Sekunden für jeden Vorgang ein.
Starten Sie den VBA-Editor und fügen Sie (z. B. in der GLOBAL.MPT) ein neues Modul ein oder öffnen Sie ein bestehendes, in das Sie die Prozedur aufnehmen wollen.
Geben Sie den folgenden Code ein:
Sub DauerBerechnen()
‘ Dauer aus Stückzahl (Zahl1) und Produktionszeit (Zahl2) berechnen
Dim ts As Task
On Error GoTo DauerBerechnen_Err
For Each ts In ActiveProject.Tasks
If Not ts Is Nothing Then
ts.Duration = CStr(ts.Number1 * ts.Number2 / 3600) & “h”
End If
Next tsGoTo DauerBerechnen_End
DauerBerechnen_Err:
MsgBox Error(Err), vbCritical, “Fehler in der Prozedur ‘DauerBerechnen’”DauerBerechnen_End:
End Sub
Führen Sie das Makro aus. Die Schleife durchläuft alle Vorgänge des Projekts und berechnet aus Zahl1 und Zahl2 die Dauer in Stunden. Wenn Sie eine andere Darstellung wünschen, z. B. Tage, passen Sie die Formel an und ersetzen „h” durch die entsprechende Einheitsbezeichnung. Noch nicht berücksichtigt ist hier der Fall, daß der Plan auch Vorgänge enthält, deren Dauer nicht auf diese Weise berechnet werden soll.