我在这个MS Project VBA宏中使用for
循环时遇到问题:
子检查_Change_Article((将项目任务分帐为任务将项目任务分帐为任务将艺术调暗为字符串将ArtOld淡化为字符串设置ProjTasks=ActiveProject.TasksArtOld="对于ProjTasks中的每个ProjTask如果不是(ProjTask什么都不是(,那么艺术=项目任务文本22如果(Art!=ArtOld(那么ProjTask.Text4="更改"结束如果ArtOld=艺术结束如果下一个项目任务End Sub
项目示例
案例1:打开任务时的工作表:VBA行#TaskID文本22文本41 1 PNL50R变化2 2 PNL50R3 3 JPL50Y CHANGE
案例2:用户可以过滤、分组或订购任务(注意行号的变化(VBA行#TaskID文本22文本41 3 PNL50R变化2 1 PNL50R变化3 2 JPL50Y
我读过这篇讨论:ms项目VBA将任务与行关联
使用ActiveSelection.Tasks
而不是ActiveProject.Tasks
,我看到for
循环迭代遵循VBA行。
是否可以在不使用ActiveSelection
的情况下设置循环以通过VBA行号进行迭代(如果可能,我不会强迫用户选择行(?
提前感谢,朱塞佩
您可以使用Application.SelectSheet(这样用户就不必手动选择任务(。然后您可以循环浏览ActiveSelection.Tasks集合。完成后,可以使用Application.SelectBeginning仅选择第一个任务。