Hier ist mal mein Code den ich geschrieben haben. Könnte mir vlt jemand helfen und mir sagen, wie ich es besser machen kann, damit ich diesen Code auch bei Dateien mit über 100 MB also so knapp 7000 Vorgängen anwenden kann.
Sub Soll_Ist_2013()
Dim statusdatum As Date
statusdatum = InputBox("Bitte Statusdatum eingeben!", "Statusdatum") 'Mit dem Befehl kann das Statusdaum auch eingegeben werden
'Hier werden die benötigten Variablen deklariert
Dim mTask As Task
Dim proj As Project
Dim tageDone As Integer
Dim aSoll As Integer
Dim aIst As Integer
Dim dauer As Integer
Dim differenz As Integer
'Hier muss der Dateiname angepasst werden
Set proj = Application.Projects("Test1.mpp")
On Error Resume Next 'Dient zur Fehlerbehandlung
'Hier wird die Spalte "Abarbeitungsstand Soll" gefüllt
For Each mTask In proj.Tasks
mTask.Number6 = 0
If mTask.Finish < Date Then
aSoll = 100
mTask.Number6 = aSoll
ElseIf mTask.Start > Date Then
aSoll = 0
mTask.Number6 = aSoll
Else
tageDone = 0
tageDone = DateDiff("d", mTask.Start, Date)
dauer = 0
dauer = mTask.Duration / 480
aSoll = tageDone / dauer * 100
mTask.Number6 = aSoll
End If
Next
'Hier wird die Spalte "Abarbeitungsstand Ist" gefüllt bzw. die Ampeln auf Grün/Gelb/Rot gesetzt
For Each mTask In proj.Tasks
aIst = 0
aIst = mTask.Number5
aSoll = 0
aSoll = mTask.Number6
differenz = 0
differenz = aSoll - aIst
'mTask.Text1 = " "
If differenz <= 5 Then
'mTask.Text1 = "Grüne Ampel"
mTask.Number7 = 0 '0 steht für Grüne Ampel
ElseIf differenz > 5 And differenz <= 20 Then
'mTask.Text1 = "Gelbe Ampel"
mTask.Number7 = 3 '3 steht für gelbe Ampel
Else
'mTask.Text1 = "Rote Ampel"
mTask.Number7 = 6 '6 steht für rote Ampel
End If
Next
End Sub
Vielen Vielen Dank für eure Hilfe!!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP