使用VBA返回MS Project中活动单元格上方的任务中的值



我熟悉Excel中的VBA,并且对于我的生活,我无法弄清楚如何使用VBA返回MS Project中活动单元格上方的值。 在Excel中,我只会使用类似activecell.offset(-1,0(.value的东西。

在下面的代码中,我(错误地(使用了 OFFSET 因此需要一些可以替换该代码的东西才能使我的宏工作。

当下一个任务的 Text4 列中的值更改时,代码将尝试添加新的任务摘要(否则会缩进(。

提前谢谢你!

Sub Add_Task_Summaries()
'Add a Summary Task when the text in the Learning Path column changes and 
indent otherwise
Dim T As Task
Dim LP As String
Dim RowNo As Long
Dim TU As Integer
For Each T In ActiveProject.Tasks
If T.Text4 <> "" And T.Summary = False Then
If T.Text4 = T.Text4.Offset(-1, 0) Then 'INCORRECT SYNTAX
T.OutlineIndent
ElseIf T.Text4 <> T.Text4.Offset(-1, 0) Then 'INCORRECT SYNTAX
LP = T.Text4
T.Add Name:=LP, before:=ActiveSelection.Tasks
End If
End If
Next T
End Sub

您可以使用应用程序对象的各种选择方法(例如SelectCellDown,SelectCellRight,SelectStart(在MS Project中选择单元格。但是,您也可以使用这样的方法:

Sub Add_Task_Summaries()
'Add a Summary Task when the text in the Learning Path column changes
'and indent otherwise
Dim T As Task
Dim S As Task
Dim LP As String
For Each T In ActiveProject.Tasks
If T.Text4 > "" And Not T.Summary Then
If LP <> T.Text4 Then
LP = T.Text4
Set S = ActiveProject.Tasks.Add(LP & " - Summary", T.ID)
S.OutlineLevel = T.OutlineLevel
End If
T.OutlineIndent
End If
Next T
End Sub

相关内容

  • 没有找到相关文章

最新更新