Bom dia,
Criei uma macro no MsProject para calcular um percentual relativo baseado no peso de cada nível, buscando o valor de um campo personalizado..
Sub CalcularPercentualRelativo()
Dim Tarefa As Task
Dim TrabalhoTotal As Double
Dim TrabalhoTotalNivel1 As Double
Dim TrabalhoTotalNivel2 As Double
Dim TrabalhoTotalNivel3 As Double
Dim TrabalhoTotalNivel4 As Double
Dim Percentual As Double
For Each Tarefa In ActiveProject.Tasks
If Tarefa.ID = 1 Then
TrabalhoTotal = Tarefa.GetField(FieldNameToFieldConstant("Peso*", pjTask))
ElseIf Tarefa.Summary Then
If Tarefa.OutlineLevel = 2 Then
TrabalhoTotalNivel1 = Tarefa.GetField(FieldNameToFieldConstant("Peso*", pjTask))
If TrabalhoTotalNivel1 > 0 Then
Tarefa.Text30 = (TrabalhoTotalNivel1 / TrabalhoTotal) * 100
End If
ElseIf Tarefa.OutlineLevel = 3 Then
TrabalhoTotalNivel2 = Tarefa.GetField(FieldNameToFieldConstant("Peso*", pjTask))
If TrabalhoTotalNivel2 > 0 Then
Tarefa.Text30 = (TrabalhoTotalNivel2 / TrabalhoTotalNivel1) * 100
End If
ElseIf Tarefa.OutlineLevel = 4 Then
TrabalhoTotalNivel3 = Tarefa.GetField(FieldNameToFieldConstant("Peso*", pjTask))
If TrabalhoTotalNivel3 > 0 Then
Tarefa.Text30 = (TrabalhoTotalNivel3 / TrabalhoTotalNivel2) * 100
End If
ElseIf Tarefa.OutlineLevel = 5 Then
TrabalhoTotalNivel4 = Tarefa.GetField(FieldNameToFieldConstant("Peso*", pjTask))
If TrabalhoTotalNivel4 > 0 Then
Tarefa.Text30 = (TrabalhoTotalNivel4 / TrabalhoTotalNivel3) * 100
End If
End If
End If
Next Tarefa
End Sub
O problema é quando eu jogo nessa coluna Text30, em alguns cronogramas funciona, em outros não. Curiosamente, dá erro em cronogramas migrados do 2007.
"Erro em tempo de execução '1004':
Erro inesperado com o método"
Alguém já passou por um problema similar?